一、接入SonarQube 扫描代码
 SonarQube是一个用于管理代码质量的开放平台,可以快速的定位代码中潜在的或者明显的错误。
1.1 源码管理
如果源码托管在SVN,需要进行Subversion配置:
- Repository URL:源码地址,比如- https://ip/svn/auth,- auth为- Maven项目,下面包含若干个子项目,比如- auth-api、- auth-server;
- Credentials:输入账号、密码;
1.2 Build Steps
 下面以子项目auth-api为例,构建步骤由若干部分组成。
1.2.1 Invoke top-level Maven targets
 配置Maven目标:
(1) Maven版本:比如3.95;
(2) 目标:
clean 
verify 
-f ./auth-api/pom.xml -Dmaven.test.failure.ignore=true
org.jacoco:jacoco-maven-plugin:0.8.1:prepare-agent1.2.2 Execute SonarQube Scanner
 配置SonarQube 扫描器;
(1) Task to run:scan;
(2) JDK:jdk-11.0.20;
(3) Analysis properties:
sonar.host.url=http://ip:9000                                  # sonarqube地址
sonar.login=2dace8ca471b9e5c8ef132081d0ef09ed1294a56
sonar.projectKey=auth-api
sonar.projectName=auth-api 
sonar.coverage.jacoco.xmlReportPaths=/home/jenkinsagent/workspace/AUTH_API_DEV_SONAR/auth-api/target/site/jacoco/jacoco.xml
sonar.sources=/home/jenkinsagent/workspace/AUTH_API_DEV_SONAR/auth-api/src/main/java/
sonar.sourceEncoding=UTF-8
sonar.language=java
sonar.java.binaries=/home/jenkinsagent/workspace/AUTH_API_DEV_SONAR/auth-api/target/classes
sonar.junit.reportPaths=/home/jenkinsagent/workspace/AUTH_API_DEV_SONAR/auth-api/target/surefire-reports
sonar.tests=/home/jenkinsagent/workspace/AUTH_API_DEV_SONAR/auth-api/src/test/java/
sonar.projectBaseDir=/home/jenkinsagent/workspace/AUTH_API_DEV_SONAR/auth-api二、jenkins自动部署
 2.1 源码管理
如果源码托管在SVN,需要进行Subversion配置:
- Repository URL:源码地址,比如- https://ip/svn/auth;
- Credentials:输入账号、密码;
构建策略Check-out Strategy:Use 'svn update' as much as possible。
2.2 Build Steps
 下面以Maven项目auth为例,构建步骤只配置Invoke top-level Maven targets;
(1) Maven版本:比如3.95;
(2) Maven目标:
clean
package
-U
-Dmaven.test.skip=true如果还有前端项目,可以配置Execute shell:
cd $WORKSPACE/auth
node -v
npm -v
npm run build2.3 构建后步骤
Send build artifacts over SSH配置。
2.3.1 SSH Server
 Name:服务器名称;
2.3.2 Transfer Set
 配置如下信息:
Source files;
Remove prefix;
Remote directory;
Exec command;