这篇主要是搭建代码扫描和运行单元测试和静态代码扫描,测试环境 依赖docker镜像
预备基础知识
- docker构建新镜像
- pipeline基础知识
- pipeline相关工具和文档(http://192.168.133.129:18080/job/test001-123456/pipeline-syntax/))【ip换成自己的】
- php相关基础(主要是以php进行演示)
目标
- 静态代码扫描不满足要求,jenkins构建失败
- 单元测试运行失败, jenkins构建失败
- 单元测试结果,展示到jenkins
- gitlab发起合并, jenkins构建失败 拒绝合并
安装必要插件
jenkins 插件
- SonarQube Scanner #jenkins调用SonarQube进行静态代码扫描
- Quality Gates 当 SonarQube #不是绿色的,Jenkins插件将使构建失败。但这个插件不支持 6.3以上的。所以这里提供一个分支 https://github.com/selmakna/quality-gates-plugin/releases自己手动编译。 也可以下我编译好的插件(Quality Gates)[https://github.com/liaoque/CICD/tree/master/quality-gates]
- Docker #jenkins使用docker镜像
- Clover #展示coverage.xml结果展示插件
- xunit #展示junit.xml结果
- Coverage/Complexity Scatter Plot
- Pipeline Maven Integration #pipeline调用mvn
- Dingding[钉钉]
Sonar插件- SonarPHP #php语法检测
- Chinese Pack #中文语言包
配置相关设置
- 生成access token
使用jenkins帐号 登录gitlab, 生成access token