构建自动化发布系统之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的执行情况,绿色是表示执行通过的,黄色是正在执行的,蓝色是未执行的,还有红色是执行失败的。
交互式执行构建过程