Step by step 搭建Gitlab CI Pipeline的监控Dashboard
Table of Contents
前言
公司的代码管理是用的Gitlab, 持续集成(CI)估计是顺手就用了Gitlab的CI(不要问我为啥不用jenkins)。
经过一段时间使用下来,基本功能是够用的,就是差了一个Dashboard来统一查看当前CI的状态,这点还是挺不方便的。
于是,经过一番搜索,选中了gitlab-monitor,原因吗,一方面比较简洁美观;另一方面,可以docker部署。
搭建步骤
- 首先拉取镜像
docker pull timoschwarzer/gitlab-monitor
- 获得gitlab的access token。登录gitlab后,进入用户设置,点击左侧菜单的Access Token,可以看到如下的页面。
然后,输入个名字,设置过期时间,勾选API和Read Repository,就可以创建一个token。
记得一定要复制保存好,回头可是没有地方再看到这个token了!不过也没什么大不了,忘了就再申请一个吗
- 下面,就是启动gitlab-monitor的container了。它支持一些自定义的参数可以在configuration里查询。
我根据自己的偏好,设置如下。
{
"gitlabApi": "https://gitlab.******.com/api/v4",
"privateToken": "*********",
"showStagesNames": true,
"fetchCount": 40,
"pipelinesOnly": true,
"showUsers": true,
"pollingIntervalMultiplier": 0.2
}
这个参数可以通过环境变量GITLAB_MONITOR_CONFIG传入,于是启动docker的命令如下:
docker run -d -p 11080:80 -e GITLAB_MONITOR_CONFIG='{"gitlabApi": "https://gitlab.*****.com/api/v4","privateToken": "********","showStagesNames": true,"fetchCount": 40, "pipelinesOnly": true, "showUsers": true,"pollingIntervalMultiplier": 0.2}' --name=gitlab-monitor timoschwarzer/gitlab-monitor:latest
- 最后一步,在浏览器里输入localhost:11080就好了。
写在最后
有一个点需要注意一下,我们通过环境变量指定的配置是会保存在浏览器的LocalStorage里的,并且是明文的,理论上这个AccessToken是有泄露的风险的。 但这是gitlab-monitor的实现决定的,除非修改源码。