Dangerjs接入
dangerjs 是一个ci小工具,可以在ci过程中执行一些你需要的自定义检查。将我们开发过程中的约定规范下来并自动化执行。比如在mr的时候检查改动范围,是否包含changelog等等,下边的文档中有更详细的介绍和例子。
接入过程
- 创建Bot账号
找运维或者私有gitlab的管理员,增加一个gitlab的账号,作为dangerjs机器人的账号
- Bot设置token
- 登录该账号,右上角头像-设置
- 设置页侧边栏 Access Tokens 新建一个token
- 名字随便起比如 Sugar-Bot-Aniya,token保存下来,不然离开页面就没了
- Bot加入项目
- 进入目标项目,左上角 Project information - members
- invite 把 Bot 邀请进来,role根据权限给,比如Developer或者Maintainer,过期时间不设置,即不过期
- CI设置
- 目标项目,Settings - CI/CD - Variables,展开,设置变量 DANGER_GITLAB_API_TOKEN = 第二步的token
- gitlab-ci.yml
variables:
# dangerjs
DANGER_GITLAB_API_TOKEN: token......
DANGER_GITLAB_HOST: https://gitlab.mokahr.com
在test的阶段,script中增加 pnpm run dangerCI,其实就是走package.json里边的命令
Lint And Unit Test:
stage: test
retry: 2
script:
....
- pnpm run dangerCI
- package.json
"dangerCI": "npx danger ci"
- dangerfile.js 写需要的逻辑
import {
message, danger, warn } from 'danger';
// files
const modifiedFiles = danger.git.modified_files;
const newFiles = danger.git.created_files;
const deleteFiles = danger.git