Dangerjs是用于代码审查的小工具,你所看到的什么XX Bot根本都是这玩意儿生成的,是项目管理的利器。
他能够用于任何自动化的CI/CD工具链,罕用的有Github Actions,Gitlab Jobs。
对于 Github/私有Gitlab 的,有一篇优良的文章举荐:https://segmentfault.com/a/11...,这里就不再阐述。
这里次要探讨自建的Gitlab。
背景
- 自建的gitlab版本:
11.9.9
,没有开启MR接口(开启了能够尝试用新的dangerjs)
应用
可选,为你的小机器人创立一个账号
必选,弄清楚三个环境变量
DANGER_GITLAB_API_TOKEN
,
登录机器人账号,点击右上角关上设置面板,并在左边找到Access Tokens
,配置一个新的DANGER_GITLAB_HOST
,自建gitlab的域名,如https://gitlab.example.com
DANGER_GITLAB_API_BASE_URL
,gitlab API的base接口,如https://gitlab.example.com/api/v4
(现有的gitlab应该都是v4接口。如果不是请降级,那太老了)
* 有些文章要求oauth token(官网也提到了),但其实不配置也行,这玩意儿还很简单,不如不配
必选,依赖以及目录构造
目录下创立.gitlab-ci.yml
及dangerfile.js
.gitlab-ci.yml
用于gitlab跑主动脚本,或者你用的Jekens,也能够在Jekens里配置,只有搞清楚本人须要触发条件以及蕴含对应环境变量即可dangerfile.js
用于写那些你须要的条件,下图蕴含了咱们我的项目用到的一些有用的中央。
npm i danger
。(或者还有配套的lodash、env-cmd,看你需要)
* 如果是后面提到的,MR接口未开,dangerjs须要是10.6.0以前的版本,能够选配10.5.4。(相干Issue:https://github.com/danger/dan...)(只有看到MR相干接口404就是这问题)
可选,测试一下
本地测试,须要有个现成的MR。
{ "scripts": { "local": "echo 'local test' && env-cmd danger pr https://gitlab.example.com/user/project/merge_requests/mrId" }}
CICD润的
{ "scripts": { "danger": "echo 'cicd running' && danger ci --failOnErrors -v", }}
也能够配合husky这样的
{ "scripts": { "prepush": "echo 'with husky' && npm danger:prepush", "danger:prepush": "env-cmd danger local --dangerfile dangerfile.js", }}
必选,如何检测是否胜利
看见相似于这个的,有条你的小机器人的评论就胜利
相干Repo: https://github.com/cangSDARM/...
参考文章: https://segmentfault.com/a/11...
官网网址/文档:https://danger.systems/js/