微服務部署—配置Jenkins+SonarQube進行代碼質量檢查
作者:AI全棧程序猿
SonarQube可以集成到許多流行的編程語言和集成開發(fā)環(huán)境中,幫助開發(fā)人員創(chuàng)建高質量的軟件項目。SonarQube以及依賴環(huán)境軟件的安裝已經在此系列文章的第一篇寫過,這里只介紹如何配置和使用Jenkins+SonarQube進行代碼質量檢查。
SonarQube是一款靜態(tài)代碼分析、代碼質量度量和漏洞檢測的開源代碼質量管理平臺,它提供了許多功能,包括靜態(tài)代碼分析、代碼覆蓋率、復雜度分析、漏洞檢測等。SonarQube可以集成到許多流行的編程語言和集成開發(fā)環(huán)境中,幫助開發(fā)人員創(chuàng)建高質量的軟件項目。SonarQube以及依賴環(huán)境軟件的安裝已經在此系列文章的第一篇寫過,這里只介紹如何配置和使用Jenkins+SonarQube進行代碼質量檢查。
配置>應用市場,安裝中文插件,這里選擇Chinese Pack LOCALIZATION(中文簡體),下面那個是中文繁體。
- 如果安裝時出現(xiàn)錯誤,一般是安裝的插件和當前SonarQube版本不兼容,此時需要到插件官網下載SonarQube對應版本的插件放到,我們的目錄下/data/docker/ci/sonarqube/extensions/downloads,然后通過 配置>系統(tǒng)>重啟服務器,即可使插件生效。
- 點擊配置分析
- 創(chuàng)建流水線作業(yè)
- 創(chuàng)建一個 GitLab Webhook
- 創(chuàng)建 Jenkinsfile,選擇Maven,然后會在下方出現(xiàn)針對此工程的Maven配置,復制此配置信息,稍后配置到Jenkins任務中。
- 和之前的任務一樣,選擇“丟棄舊的構建”,設置保持構建的最大個數(shù)為5
- 直接到“流水線”,選擇Pipeline script
流水線腳本如下:
node {
def mvnHome
stage('Preparation') { // for display purposes
// Get some code from a GitHub repository
echo "checkout from GitLab"
checkout scmGit(branches: [[name: '*/main']], extensions: [], userRemoteConfigs: [[credentialsId: 'git_username', url: 'http://127.0.0.1:9091/test/test.git']])
// Get the Maven tool.
// ** NOTE: This 'M3' Maven tool must be configured
// ** in the global configuration.
mvnHome = tool 'maven_j'
}
stage('SonarQube Analysis') {
echo "sonar test code"
withEnv(["MVN_HOME=$mvnHome"]) {
withSonarQubeEnv() {
sh "'$MVN_HOME/bin/mvn' clean verify sonar:sonar -Dsonar.projectKey=sonarTest -Dsonar.projectName='Sonar質量檢查'"
}
}
}
stage('Build') {
echo "build test code"
// Run the maven build
withEnv(["MVN_HOME=$mvnHome"]) {
if (isUnix()) {
sh '"$MVN_HOME/bin/mvn" -Dmaven.test.failure.ignore clean package'
} else {
bat(/"%MVN_HOME%\bin\mvn" -Dmaven.test.failure.ignore clean package/)
}
}
}
stage('Results') {
echo "end sonar testcode"
//junit '**/target/surefire-reports/TEST-*.xml'
// archiveArtifacts 'target/*.jar'
}
}
- 立即構建
- 流水線任務可以在右側顯示階段視圖
- 查看構建日志:點擊立即構建之后,下方會出現(xiàn)進度條,點擊進度條就可以進入構建日志界面。
責任編輯:姜華
來源:
今日頭條