@cissie/gitlab-ci

Front-end development tools

Usage no npm install needed!

<script type="module">
  import cissieGitlabCi from 'https://cdn.skypack.dev/@cissie/gitlab-ci';
</script>

README

gitlab-ci

统一提供前端 gitlab CI/CD 自动化构建部署相关功能

介绍

  1. 初始化 gitlab 构建环境相关文件
  2. 自动化 pre_master 检查 package.json 版本信息
  3. 自动化部署 dev-* 分支 到对应 namespace
  4. 手动部署 test-* 分支 到对应 namespace
  5. 自动化构建 tag 生成 发布版本 release/[tag]
  6. 构建结果自动通知飞书群或个人

安装教程

# 全局安装
npm install @cissie/gitlab-ci -g

使用说明

# 获取使用文档
gitlab-ci --help

# 初始化配置
gitlab-ci init

# 修改配置文件
# helper.js

配置说明

// 京东的测试环境 暂不支持
module.exports = {
  namespaces: {
    'dev-cnn': {
      tb: {
        ip: '10.0.0.186',
        path: '/opt/data/namespace-dev-cnn/nginx/nginx-out/web/dist',
      },
      pdd: {
        ip: '10.0.0.130',
        path: '/opt/data/namespace-dev-cnn/nginx/web/dist',
      },
    },
    'test-cm': {
      tb: {
        ip: '10.20.134.178',
        path: '/opt/data/namespace-test-cm/nginx/nginx-out/web/dist',
      },
      pdd: {
        ip: '172.16.123.246',
        path: '/opt/data/namespace-test-cm/nginx/web/dist',
      },
    },
  },

  // 开发测试环境配置
  deploy: {
    // 打包命令
    script: 'npm run deploy',
  },

  // 上线 打tag 配置
  tag: {
    // 打包命令
    script: 'npm run deploy',

    // 压缩 dist.zip 配置,仅.html 文件 (整个dist 目录['**/*', '.*'])
    pattern: ['**/*.html', '.*'],
  },

  message: {
    // 是否开启消息通知
    enable: true,
    // dev | test 构建结果通知个人,构建发布TAG ,消息通知组
    groupName: '前端组',
  },
};

注意事项

  1. dev 环境自动化构建
    1. 构建会发布 namespace 所有平台
  2. test 环境手动构建
    1. 构建会发布 namespace 所有平台
    2. test 分支的构建需 在 gitlab 手动触发
  3. 消息通知相关
    1. 构建 tag ,构建结果通知群(飞书群名)
    2. 构建 dev test 环境 消息通知个人
    3. 消息通知个人,使用git username, 不是配置飞书中文名,则无法进行消息通知