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

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

牛恒博 DevOps视角

sonar和jenkins结合

安装Jenkins - sonar 插件


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

添加sonar的信息


系统管理-系统配置
构建自动化发布系统之jenkins、gitlab 、sonar结合

配置sonar Scanner的路径


在系统管理--> Global Tool Configuration
构建自动化发布系统之jenkins、gitlab 、sonar结合

开始构建相应的步骤


构建自动化发布系统之jenkins、gitlab 、sonar结合
构建自动化发布系统之jenkins、gitlab 、sonar结合
选择立即构建,构建完成后,就可以在控制台输出中看见内容了。

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

钩子脚本配置


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

jenkins和gitlab联合


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

配置身份验证令牌



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、gitlab 、sonar结合

jenkins pipline 设置


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

创建一个pipline


构建自动化发布系统之jenkins、gitlab 、sonar结合
构建自动化发布系统之jenkins、gitlab 、sonar结合
根据刚才设置的第一个pipline,配置后续的构建过程。

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

构建自动化发布系统之jenkins、gitlab 、sonar结合
查看pipline执行的结果
构建自动化发布系统之jenkins、gitlab 、sonar结合
在这里可以查看各个job的执行情况,绿色是表示执行通过的,黄色是正在执行的,蓝色是未执行的,还有红色是执行失败的。
交互式执行构建过程
构建自动化发布系统之jenkins、gitlab 、sonar结合
构建自动化发布系统之jenkins、gitlab 、sonar结合
构建自动化发布系统之jenkins、gitlab 、sonar结合
构建自动化发布系统之jenkins、gitlab 、sonar结合

上一篇:【Jenkins持续集成(一)】SonarQube 入门安装使用教程


下一篇:有赞 GO 项目单测、集成、增量覆盖率统计与分析