1 将jenkins和sonar集成

1.1 安装sonar 插件

jenkins上安装sonarqube plugin ,如果没有就安装sonarqube scanner for jenkins这个插件。

Jenkins sonar代码分支 jenkins与sonar集成_运维

1.2 关联sonar 插件

1.2.1 系统设置

设置sonar地址

系统管理 > 系统设置 > Add SonarQube > sonarqube servers 修改如下:

Jenkins sonar代码分支 jenkins与sonar集成_git_02

1.2.2 全局设置

设置sonar扫描器位置

系统管理 > Global Tool Configuration > SonarQube Scanner > 新增 SonarQube Scanner

Jenkins sonar代码分支 jenkins与sonar集成_测试_03

1.2.3 关联项目

选择一个项目 ,配置 > 构建 > Execute SonarQube Scanner >Analysis properties 填写相关参数,保存即可。

sonar.projectKey=demo
sonar.projectName=demo
sonar.projectVersion=1.0
sonar.sources=/server/tools/sonar-examples-4.5/projects/languages/php/php-sonar-runner-unit-tests
sonar.language=php
sonar.sourceEncoding=UTF-8

Jenkins sonar代码分支 jenkins与sonar集成_测试_04

报错之后,就可以就去构建了。

2. 将jenkins Job关联和Pipeline

安装pipeline(做完一件事情,接着做下一件事情。)

2.1 安装pipeline

Jenkins sonar代码分支 jenkins与sonar集成_Jenkins sonar代码分支_05

2.2 配置pipeline

Jenkins sonar代码分支 jenkins与sonar集成_测试_06

Jenkins sonar代码分支 jenkins与sonar集成_运维_07


Jenkins sonar代码分支 jenkins与sonar集成_git_08


点击run开始运行,就开始构建了。

Jenkins sonar代码分支 jenkins与sonar集成_测试_09

2.3 关联相关的job

列如代码上线会经过 ,静态代码检查、单元测试、然后部署服务器、服务器重启、进行ui测试等。

选择第一个要执行的job

Jenkins sonar代码分支 jenkins与sonar集成_php_10


构建后操作,选择 Trigger parameterized build on other projects

Jenkins sonar代码分支 jenkins与sonar集成_运维_11

添加pipeline

Jenkins sonar代码分支 jenkins与sonar集成_运维_12

3. Jenkins与gitlab集成(Webhook)

3.1 jenkins安装gitlab hook

gitlab Hook Plugin gitlab 钩子

Jenkins sonar代码分支 jenkins与sonar集成_git_13


Build Authorization Token Root Plugin 安装令牌插件

Jenkins sonar代码分支 jenkins与sonar集成_测试_14

3.2 jenkins配置gitlab钩子

注:jenkins需要使用令牌

[www@test-node3 ~]$ openssl rand -hex 10
c6116ac353aca741f315

Jenkins sonar代码分支 jenkins与sonar集成_Jenkins sonar代码分支_15

http://10.0.0.203:8080/project/auto-deploy

Jenkins sonar代码分支 jenkins与sonar集成_Jenkins sonar代码分支_16

3.3 gitlab配置钩子

Jenkins sonar代码分支 jenkins与sonar集成_Jenkins sonar代码分支_17

Jenkins sonar代码分支 jenkins与sonar集成_测试_18


添加完成之后,可以点击test 来测试。

Jenkins sonar代码分支 jenkins与sonar集成_测试_19


此时我去提交代码然后,git push ,后面会进行 代码质量检查,然后进行部署。

转载于:https://blog.51cto.com/damaicha/2118766