关于cicd:自建的gitlab搭建CI工具-dangerjs

31次阅读

共计 1368 个字符,预计需要花费 4 分钟才能阅读完成。

Dangerjs 是用于代码审查的小工具,你所看到的什么 XX Bot 根本都是这玩意儿生成的,是项目管理的利器。
他能够用于任何自动化的 CI/CD 工具链,罕用的有 Github Actions,Gitlab Jobs。
对于 Github/ 私有 Gitlab 的,有一篇优良的文章举荐:https://segmentfault.com/a/11…,这里就不再阐述。
这里次要探讨自建的 Gitlab。

背景

  • 自建的 gitlab 版本: 11.9.9,没有开启 MR 接口(开启了能够尝试用新的 dangerjs)

应用

可选,为你的小机器人创立一个账号

必选,弄清楚三个环境变量

  1. DANGER_GITLAB_API_TOKEN
    登录机器人账号,点击右上角关上设置面板,并在左边找到Access Tokens,配置一个新的

  2. DANGER_GITLAB_HOST,自建 gitlab 的域名,如 https://gitlab.example.com
  3. DANGER_GITLAB_API_BASE_URL,gitlab API 的 base 接口,如 https://gitlab.example.com/api/v4(现有的 gitlab 应该都是 v4 接口。如果不是请降级,那太老了)

* 有些文章要求 oauth token(官网也提到了),但其实不配置也行,这玩意儿还很简单,不如不配

必选,依赖以及目录构造

目录下创立 .gitlab-ci.ymldangerfile.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/

正文完
 0