构建自动化发布系统之jenkins、gitlab 、sonar结合

牛恒博 DevOps视角

sonar和jenkins结合

安装Jenkins - sonar 插件


添加sonar的信息


系统管理-系统配置

配置sonar Scanner的路径


在系统管理--> Global Tool Configuration

开始构建相应的步骤


选择立即构建,构建完成后,就可以在控制台输出中看见内容了。

钩子脚本配置


jenkins和gitlab联合


配置身份验证令牌




openssl rand -hex 10 
9c8fe5c5bbb56b909259

配置gitlab的钩子


官方的例子


Trigger the RevolutionTest job with the token TacoTuesday

buildByToken/build?job=RevolutionTest&token=TacoTuesday

Trigger the RevolutionTest job with the token TacoTuesday and parameter Type supplied with the value Mexican

buildByToken/buildWithParameters?job=RevolutionTest&token=TacoTuesday&Type=Mexican

根据官方的例子拼接URL



第一步:jenkins的URL:http://192.168.56.11:8080/jenkins/
第二步:拼接后端的URI:buildByToken/build?job=web-buildo&token=9c8fe5c5bbb56b909259
http://192.168.56.11:8080/jenkins/buildByToken/build?job=web-build&token=9c8fe5c5bbb56b909259

更新gitlab的内容,查看jenkins是否能够自动更新。 参考gitlab官方配置例子(https://github.com/jenkinsci/gitlab-plugin/wiki/Setup-Example)

配置gitlab流水线操作

安装pipline的插件


jenkins pipline 设置


真实工作场景可能会有很多的job要执行。 编译-->单元测试-->从集群中下线服务器--环境部署--重启服务器--预热--上线测试--上线集群。

创建一个pipline


根据刚才设置的第一个pipline,配置后续的构建过程。

选择【构建后操作】,接着选择【Trigger parameterized build on other projects】

查看pipline执行的结果 在这里可以查看各个job的执行情况,绿色是表示执行通过的,黄色是正在执行的,蓝色是未执行的,还有红色是执行失败的。 交互式执行构建过程