自建的gitlab搭建CI工具|自建的gitlab搭建CI工具 dangerjs
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接口。如果不是请升级,那太老了)
必选,依赖以及目录结构 【自建的gitlab搭建CI工具|自建的gitlab搭建CI工具 dangerjs】目录下创建
.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/
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量