本文主要是介绍Jenkins (五) - Docker SonarQube,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Jenkins (五) - Docker SonarQube
Jenkins 集成 SonarQube,编译项目并通过SonarQube分析项目
前提
基于已有的环境 Jenkins (四) - Docker SonarQube
基于 Jenkins (三) - 拉取编译 上的mockito-demo
工程
配置工程
Administration
-> Projects
-> Management
Create Project
配置用户
Create User
Group sonar-users
所有的认证用户默认都是属于此组。
设置权限
分析工程
通过设置,生成 maven 远程调用脚本,为后续 Jenkins集成SonarQube编译提供便利
点击项目 mockito-demo
点击 Local
sqp_8d4181eca2705f6724922c760ffacecdb2327423
由于mockito-demo
项目是maven工程而非 Gradle工程,Copy
生成的maven脚本
mvn clean verify sonar:sonar \-Dsonar.projectKey=mockito-demo \-Dsonar.projectName='mockito-demo' \-Dsonar.host.url=http://192.168.56.102:9000 \-Dsonar.token=sqp_8d4181eca2705f6724922c760ffacecdb2327423
配置Jenkins pipeline
将以上mvn clean verify sonar:sonar ...
配置入pipeline中
node {def mvnHomestage('Preparation') { // for display purposesecho 'Checkout'checkout scmGit(branches: [[name: '*/main']], extensions: [], userRemoteConfigs: [[credentialsId: 'fernado', url: 'https://github.com/fernado/mockito-demo.git']])mvnHome = tool 'maven396'}stage('Analyze') {echo 'Sonaqube'withEnv(["MVN_HOME=$mvnHome"]) {if (isUnix()) {sh '"$MVN_HOME/bin/mvn" clean verify sonar:sonar -Dsonar.projectKey=mockito-demo -Dsonar.projectName=mockito-demo -Dsonar.host.url=http://192.168.56.102:9000 -Dsonar.token=sqp_8d4181eca2705f6724922c760ffacecdb2327423'} else {bat(/"%MVN_HOME%\bin\mvn" -Dmaven.test.failure.ignore clean package/)}}}stage('Build') {echo 'Build'// Run the maven buildwithEnv(["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('Test Results') {echo 'Test Results'sh 'make check || true' junit '**/target/surefire-reports/TEST-*.xml'archiveArtifacts artifacts: '**/target/*.jar', fingerprint: true}stage('Deploy') {echo 'Deploy'// when {// expression {// currentBuild.result == null || currentBuild.result == 'SUCCESS' // }// }// steps {// sh 'make publish'// }}
}
Build Now
查看SonarQube生成项目结果
用户 Tokens Create
Administrator
-> Security
-> 用户
-> sonar_user
-> Tokens
用户 Tokens Revoke
与 Tokens Create 类似,进入Administrator
-> Security
-> 用户
-> Revoke
这篇关于Jenkins (五) - Docker SonarQube的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!