jenkins集成SonarQube
目录
一、安装jenkins
1、启动docker,查找Jenkins镜像文件
docker search jenkins

2、下载Jenkins镜像文件
docker pull jenkins/jenkins
查看拉取镜像的版本信息
docker inspect bf31e764

3、启动一个jenkins容器
docker run -d --name jks -u root -p 8080:8080 -v /home/scm/jks_home:/var/jenkins_home jenkins/jenkins
执行指令参数说明:
- -d: 标识是让 docker 容器在后台运行
- -p 8080:8080:冒号前边是宿主机的端口,冒号后边的是容器的端口。将镜像的 8080** 端口映射到服务器的 8080 端口
- --name:是指定生成的容器名称 jks
- -u: 最好使用 root 启动,以免有权限执行问题。
- -v: 将 jenkins 容器的 /var/jenkins_home 映射到宿主机的目录中,实现数据持续化。
查看启动的容器
docker ps -a

启动之后就可以直接通过宿主机 ip + 映射的端口进行访问了,打开浏览器访问如下:

可以看到 jenkins 系统已正常运行了,这时候就需要进入到容器内
docker exec -it bf31e764 /bin/bash
#获取密码
cat /var/jenkins_home/secrets/initialAdminPassword
解锁进入jenkins,创建管理员账号,进入jenkins首页

二、安装SonarQube Scanner插件
1、管理员账号登录,进入Manage Jenkins-->System Configuration-->Plugins,在Available plugins下载SonarQube Scanner

安装完成后、配置SonarQube
在SonarQube中生成一个Token(PS:用token代替输入用户名和密码)。在用户头像下“我的账户”、“安全”下,生成token。
接着在Jenkins中配置连接sonarqube服务器的地址,这里用到的token就是刚才在sonarqube中创建的那个token

在Jenkins中的系统配置中设置SonarQube servers的token

在Jenkins中的全局配置中安装SonarQube servers

三、创建任务
1、创建一个自由风格的项目

2、配置svn或者git地址

3、配置SonarQube analysis properties


配置信息如下:
sonar.projectKey=${JOB_NAME}
sonar.sources=.
sonar.projectName=${JOB_NAME}
sonar.projectVersion=${BUILD_VERSION}
sonar.language=java
sonar.sourceEncoding=UTF-8
sonar.sources=$WORKSPACE
sonar.java.binaries=$WORKSPACE
四、运行任务
1、在jenkins中任务运行成功之后,点击链接跳转至sonarqube中,查看扫描结果

