1. 程式人生 > >持續集成與自動化部署 - jenkins與sonar、gitlab集成 (六)

持續集成與自動化部署 - jenkins與sonar、gitlab集成 (六)

jenkins gitlab sonar

1 將jenkins和sonar集成

1.1 安裝sonar 插件

jenkins上安裝sonarqube plugin ,如果沒有就安裝sonarqube scanner for jenkins這個插件。

技術分享圖片

1.2 關聯sonar 插件

1.2.1 系統設置

設置sonar地址

系統管理 > 系統設置 > Add SonarQube > sonarqube servers 修改如下:
技術分享圖片

1.2.2 全局設置

設置sonar掃描器位置

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

技術分享圖片

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

技術分享圖片

報錯之後,就可以就去構建了。

2. 將jenkins Job關聯和Pipeline

安裝pipeline(做完一件事情,接著做下一件事情。)

2.1 安裝pipeline

技術分享圖片

2.2 配置pipeline

技術分享圖片

技術分享圖片
技術分享圖片
點擊run開始運行,就開始構建了。
技術分享圖片

2.3 關聯相關的job

列如代碼上線會經過 ,靜態代碼檢查、單元測試、然後部署服務器、服務器重啟、進行ui測試等。

選擇第一個要執行的job
技術分享圖片
構建後操作,選擇 Trigger parameterized build on other projects
技術分享圖片

添加pipeline

技術分享圖片

3. Jenkins與gitlab集成(Webhook)

3.1 jenkins安裝gitlab hook

gitlab Hook Plugin gitlab 鉤子
技術分享圖片
Build Authorization Token Root Plugin 安裝令牌插件
技術分享圖片

3.2 jenkins配置gitlab鉤子

註:jenkins需要使用令牌

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

技術分享圖片

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

技術分享圖片

3.3 gitlab配置鉤子

技術分享圖片

技術分享圖片
添加完成之後,可以點擊test 來測試。
技術分享圖片
此時我去提交代碼然後,git push ,後面會進行 代碼質量檢查,然後進行部署。

持續集成與自動化部署 - jenkins與sonar、gitlab集成 (六)