本指南實作效果為:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL0ITN0MjMxkDMxEDOwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
jenkins+sonarQube+gitlab持續內建指南
- 一、jenkins如何建立一個持續檢查和內建的任務?
-
- 1.1、先建立一個建構自由風格的軟體項目任務
- 1.2、配置項目git位址資訊
- 1.3、配置git逾時時間
- 1.3、建構觸發器
- 1.4、建構行為配置之Execute SonarQube Scanner配置
- 1.5、建構行為配置之shell指令
- 二、gitlab的鈎子配置
一、jenkins如何建立一個持續檢查和內建的任務?
本指南的jenkins的gitlab和sonar插件配置已經配好,這裡不再贅述,詳細可以自行看jenkins的系統設定或參考部落格http://blog.51cto.com/damaicha/2118766
1.1、先建立一個建構自由風格的軟體項目任務
1.2、配置項目git位址資訊
1.3、配置git逾時時間
因為伺服器的代碼拉取速度不是很快,而且項目的代碼大小可能過大,是以需要在這裡配置下git的逾時時間,盡量長點。。。
1.3、建構觸發器
因為jenkins需要感覺gitlab的送出操作進行代碼檢測或者部署等操作,是以需要建構對應的觸發器。
身份驗證令牌自行生成一個:openssl rand -hex 10
這個可以看下方的資訊知道這是用來鈎gitlab的鈎子(或者說鑰匙)
下方勾選GitHub hook trigger for GITScm polling的意思是采用輪詢的方式檢測到源碼的push操作觸發建構。
老版本的jenkins也可以勾選這個,當gitlab的代碼變動的時候出發建構,上下兩種具有同樣的效果。
1.4、建構行為配置之Execute SonarQube Scanner配置
其中Analysis properties填寫:
sonar.projectKey=quick #項目key
sonar.projectName=quick #項目名稱
sonar.projectVersion=1.0 #項目版本
sonar.language=java #項目語言
sonar.sourceEncoding=UTF-8 #編碼
sonar.sources=./ #檢查過濾代碼
sonar.java.binaries=/var/lib/jenkins/workspace/quick1.0/ #檢測的代碼位置
一般web項目掃描配置(如果在sonar沒有安裝web掃描插件的話會報錯并讓你安裝)
#required metadata
#projectKey項目的唯一辨別,不能重複
sonar.forceAuthentication=false
sonar.login=saq
sonar.password=000000
sonar.projectKey=testuser
sonar.projectName=testuser
sonar.projectVersion=1.0
sonar.sourceEncoding=UTF-8
sonar.modules=java-module,javascript-module,html-module
#Java module
java-module.sonar.projectName=Java Module
java-module.sonar.language=java
#.表示projectBaseDir指定的目錄
java-module.sonar.sources=.
java-module.sonar.projectBaseDir=src/main/java
sonar.binaries=classes
#JavaScript module
javascript-module.sonar.projectName=JavaScript Module
javascript-module.sonar.language=js
javascript-module.sonar.sources=js
javascript-module.sonar.projectBaseDir=src/main/webapp
#Html module
html-module.sonar.projectName=Html Module
html-module.sonar.language=web
html-module.sonar.sources=pages
html-module.sonar.projectBaseDir=src/main/webapp
這相當于編寫了sonar-project.properties配置。
1.5、建構行為配置之shell指令
增加shell建構步驟
指令大概是根據目錄打包項目并釋出
自行百度。。。這裡不詳解
二、gitlab的鈎子配置
進入需要配置項目的管理頁面,設定,內建
彈出頁面隻需要配置url就夠了
例子:http://{giturl}/jenkins/buildByToken/build?job={jobname}&token={token}
需要配置的就是job名稱和token的值(1.3步的那個token)
配置完點這個可以測試一下,可以看到jenkins的任務開始建構啦!
完~