前置环境:
Windows 安装docker环境;
使用linux运行sonarqube
1、安装docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
2、从docker镜像中获取sonarqube,省去部署过程
PS C:\Windows\system32> docker search sonarqube
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
sonarqube SonarQube is an open source platform for con… 2032 [OK]
owasp/sonarqube This project aims to enable more security fu… 29
bitnami/sonarqube Bitnami SonarQube Docker Image 26 [OK]
mc1arke/sonarqube-with-community-branch-plugin Sonarqube community edition with branch anal… 7
openshiftdemos/sonarqube An OpenShift-focused build of SonarQube 5
nokiatesting/sonarqube sonarqube installed language plugins by defa… 2 [OK]
lgohr/sonarqube Concourse CI Resource for getting results fr… 2 [OK]
rolafia/sonarqube default sonarqube alpine image with some plu… 1
ahmedmusallam/sonarqube-aem A development-only SonarQube instance with A… 1
terryvel/sonarqube-aci 1
我选择了bitnami/sonarqube这个镜像,经过验证,可以正常使用
docker pull bitnami/sonarqube
#这里映射端口9000是因为sonarqube默认使用这个端口,sonar配置里面就不用再改动了
docker run -itd -p 9000:9000 --privileged=true --name sonarqube bitnami/sonarqube /bin/bash
#进入docker 容器
docker exec -it sonarqube /bin/bash
3、启动sonarqube
进入sonarqube安装目录,执行脚本启动
cd /opt/bitnami/sonarqube/bin/linux-x86-64
./sonar.sh start
#进程中看到sonar进程就启动成功
ps -aux | grep sonarqube
可以从浏览器端打开sonar看是否能打开网页:
http://192.168.1.1:9000/
4、sonarqube配置
首次登录会提示修改admin账号密码,默认账号密码admin,admin,自行修改
添加项目:
Projects->Create Project->Manually,填写Project display name和Project key
完成后选择other CI
然后生成token,用于配置Jenkins插件
5、配置Jenkins插件
安装插件sonar Gerrit Plugin和SonarQube Scanner for Jenkins
进入Config System,找到SonarQube servers->Add SonarQube
名称随意,地址是sonarqube访问地址,需要注意的是Server authentication token这个需要先添加一个secret text类型的密码,其中的secret就是我们在sonarqube服务器上面生成的token
保存配置
6、配置JDK
进入Jenkins->Global Tool Configuration->JDK,添加JDK安装路径,我的sonar scanner是最新版本,需要用到JDK11
jdk下载地址:
Java Archive Downloads - Java SE 11
7、配置sonar scanner
进入Jenkins的Global Tool Configuration->SonarQube Scanner,新增SonarQube Scanner,我选择的是最新版本
8、配置Jenkins job
创建一个自由风格的job,构建环境中勾选Prepare SonarQube Scanner environment ,填写创建好的sonarqube token:
构建步骤选择Execute SonarQube Scanner,勾选对应的jdk版本,然后配置Analysis properties:
sonar.projectKey=app
sonar.projectName=app
#需要配置默认的java项,否则运行会报错:
#org.sonar.java.AnalysisException: Your project contains .java files, please provide compiled classes with sonar.java.binaries property, or exclude them from the analysis with sonar.exclusions property
sonar.java.binaries=.
#扫描的代码路径
sonar.sources=${WORKSPACE}/test
sonar.sourceEncoding=UTF-8
#登录sonarqube的用户名密码
sonar.login=admin
sonar.password=admin
配置完成后就可以运行job开始扫描
9、sonarqube插件下载以及部署
sonarqube有内置插件下载地址,但只能搜到部分插件,一些第三方插件需要另外下载
内部下载位置通过配置->应用市场可以看到全部的插件
sonar-gerrit插件下载地址: