Jenkins 运行SonarQube扫描程序-Java/TypeScript
在jenkin的Jenkins 运行SonarQube扫描程序-Java/TypeScript,jenkins,sonarqube,jenkins-pipeline,sonarqube-scan,jenkins-groovy,Jenkins,Sonarqube,Jenkins Pipeline,Sonarqube Scan,Jenkins Groovy,在jenkin的${WORKSPACE} ,如下所示 前端代码是用Angular(TypeScript)编写的,并使用npm 后端代码用Java编写,并使用gradlew 请参考Jenkins的SonarQube扫描仪文档。我得到了下面的代码,可以运行SonarQube scanner进行多语言(angular和java)静态代码分析 node { stage('SCM') { git 'https://github.com/foo/bar.git' } stage('So
${WORKSPACE}
,如下所示
前端代码是用Angular(TypeScript)编写的,并使用npm
后端代码用Java编写,并使用gradlew
请参考Jenkins的SonarQube扫描仪文档。我得到了下面的代码,可以运行SonarQube scanner进行多语言(angular和java)静态代码分析
node {
stage('SCM') {
git 'https://github.com/foo/bar.git'
}
stage('SonarQube analysis') {
// requires SonarQube Scanner 2.8+
def scannerHome = tool 'SonarQube Scanner 2.8';
withSonarQubeEnv('My SonarQube Server') {
sh "${scannerHome}/bin/sonar-scanner"
}
}
}
根据以下屏幕截图,以下是詹金斯的声纳扫描仪安装: 1) 是否
def scannerHome=工具“abc_安装”代码>抓取Jenkins中配置的SonarQube扫描仪
2) sh“${scannerHome}/bin/sonar scanner”
是否对TypeScript和Java执行静态代码分析?在前端代码
和后端代码
文件夹中请查看答案:
1) 当然。在Jenkins中,您可以配置许多不同版本的SonarQube扫描仪,并且使用constructiondef scannerHome=tool''
您可以获取代码所需的任何扫描仪
2) 是的,会的。但是,我建议将后端和前端分开,并为每个部分指定语言。另外,我会从静态代码扫描中删除带有“@tmp”的文件夹。请参见此处可添加到扫描仪的参数列表:
后端的小示例:
${scannerHome}/bin/sonar-scanner \
-Dsonar.projectKey=project-${ENVIRONMENT} \
-Dsonar.sources=portal,common \
-Dsonar.java.binaries=portal,common \
-Dsonar.java.libraries=/**/*.jar \
-Dsonar.exclusions=portal/src/test/**,portal/src/intest/** \
-Dsonar.coverage.jacoco.xmlReportPaths=portal/build/reports/jacoco/test/jacocoTestReport.xml