Gitlab+Sonar实现提交代码时自动审计
本文主要讲解,如何将Gitlab的代码管理功能和Sonar的代码审查功能结合起来,实现开发人员每次push时,自动scanner。由于服务器性能有限,未采用Jenkins。
环境介绍
centos 7
sonar cube 6.5
gitlab-ce-10.1.0
sonar-scanner-cli-3.0.3
配置sonar-scanner-cli
在gitlab服务器上,部署sonar-scanner-cli,要注意的是通过二进制包安装的gitlab是在gitlab-runner用户下,所以需要将sonar-scanner-cli也部署在该用户下,否则会有权限问题。
在sonar-scanner-cli的配置文件中配置
sonar.host.url=https://sonar.lefer.cn |
login可以在sonar-cube的用户-安全页面中生成。
安装gitlab-runner
添加gitlab的repository,由于是国外网站可能不稳定,如果失败就多执行几次 |
可参考官方文档
注册runner到gitlab中
runner 分为全局runner和项目级的runner,根据需求决定注册为什么级别。下面以项目级runner来说明。
进入gitlab的项目页面下的Serttings -> Runners settings,找到注册令牌。
在centos中运行以下命令注册,过程中需要输入一些信息,包括gitlab的url,令牌,以及标签
sudo gitlab-runner register
标签可以自行定义。接下来的触发器根据标签去决定需要触发哪些runner。
编写CI脚本
在gitlab的项目首页,点击CI配置
按钮,开始编写CI脚本。
sonar: |
可以看到CI脚本就是形如YML的一种格式文本文件。第一行sonar是job的名字,stage是job的标签,对应上一步的标签,script就是一行行的命令。
END
完成以上配置后,每次提交代码时,就会触发sonar的运行。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LeFer!
评论