Sonarqube篇-sonarqube接入阿里巴巴代碼規範

一 引言

阿里巴巴代碼規範就是pmd的基礎上新增了p3c的規則,因此,在sonarqube中添加阿里巴巴代碼規範的時候需要:第一,在sonarqube應用市場中下載pmd插件,第二,根據本操作手冊新增p3c的規則

二 操作手冊

需要在sonarqube節點上操作:

1 下載plugin

git clone https://github.com/slowwalkerlcr/sonar-p3c-pmd/tree/pmd_alibaba
#其他參考:
https://github.com/rhinoceros/sonar-p3c-pmd/releases/tag/pmd-3.2.0-beta-with-p3c1.3.4-pmd6.10.0

2 下載配置maven

tar xvfz apache-maven-3.6.2-bin.tar.gz -C /usr/local

vim /etc/profile

export MAVEN_HOME=/usr/local/apache-maven-3.6.2
export PATH=${MAVEN_HOME}/bin:$PATH

注意:如果沒有配置jdk8環境的話則需要先配置jdk8

mvn -version

在這裏插入圖片描述

3 mvn打包源碼並將插件接入sonarqube

1)在clone好的安裝包目錄下執行: mvn clean install
在這裏插入圖片描述
注意:最後會報test出錯,該錯誤可以忽略

2)找到下面的安裝包,並將其複製到sonarqube的plugin目錄下,可以重命名爲sonar-pmd-plugin-3.2.0-SNAPSHOT.jar
在這裏插入圖片描述
可以看到pmd的插件包:
在這裏插入圖片描述
3)重啓sonarqube

systemctl restart sonar

4 重新登錄查看規則並測試分析代碼
在這裏插入圖片描述
在這裏插入圖片描述
找到項目——設置其quality gate即可使用alibaba代碼規約
在這裏插入圖片描述
分析結果:
在這裏插入圖片描述

注意:下面是jenkins pipeline中的script,記錄一下,避免忘了

node("master") {
	stage('清理目錄') {
		cleanWs()
	}

	stage('Gitlab') {
		git branch: 'master', url: 'http://gitlab_url/root/demo.git'
	}
	stage('SonarQube') {
		def scannerHome = /opt/apps/sonar-scanner   #這裏是scanner的安裝目錄
		def project = 'demo'     #這個定義了要掃描的項目名稱
		withSonarQubeEnv('sonarqube') {  #sonarqube是Jenkins的系統設置中定義的sonarqube server的名字
			cmd="${scannerHome}/bin/sonar-scanner -Dsonar.projectKey="+project+" -Dsonar.projectName="+project+" -Dsonar.sources=. -Dsonar.login=sonar-token -Dsonar.java.binaries=."    #token是sonarqube管理員賬戶的token值
			sh cmd
		}
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章