1、环境准备
centos 7 +JDK11
Docker version 20.10.13, build a224086
jenkins:https://mirrors.jenkins.io/war-stable/2.319.1/
2、启动jekins
nohup java -jar jenkins.war --httpPort=80 >>log 2>&1 &
3、部署sonar:官网直接运行一个部署:https://docs.sonarqube.org/latest/setup/get-started-2-minutes/
docker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true -p 9000:9000 sonarqube:latest
登陆平台,创建一个项目拿到key:
4.jenkins配置:
- 安装插件:
- 全局配置:JDK,git,SonarScanner for MSBuild、SonarQube Scanner、maven、nodeJs
NodeJS在检查GO、TypeScript语言时需要用到。【注意NodeJS版本是否与系统兼容,具体的测试方法可以在jenkins创建一个项目,配置nodeJS 命令如 NodeJS -v 看日志提示是否缺少动态库等。】
- 项目配置
sonar.projectKey=javaProject
sonar.projectName=javaProject
sonar.projectVersion=1.0-SNAPSHOT
sonar.sourceEncoding=UTF-8
sonar.login=sqp_89465ca5ce613f08dd167b135a97r2312
sonar.modules=java-module
# Java module
java-module.sonar.projectName=Java Module
java-module.sonar.language=java
java-module.sonar.sources=src
java-module.sonar.projectBaseDir=.
sonar.java.binaries=.
如果是Go、TypeScript语言项目需要配置NodeJS
sonar.projectKey=goProject
sonar.projectName=goProject
sonar.projectVersion=1.0-SNAPSHOT
sonar.sourceEncoding=UTF-8
sonar.login=sqp_6f5021a0cdf0f194a5764afc9f49a3cbfc169c11
sonar.sources=.
sonar.exclusions=**/*_test.go,**/vendor/**
sonar.tests=
sonar.test.inclusions=**/**_test.go
sonar.test.exclusions=**/vendor/**
sonar.go.coverage.reportPaths=report/coverage.out
sonar.go.tests.reportPaths=report/test.json
sonar.go.govet.reportPaths=report/govet-report.out
sonar.go.gometalinter.reportPaths=report/gometalinter-report.out
sonar.go.golint.reportPaths=report/golint-report.out
5.在jekins build项目,在soanr平台就可以看到结果了。