sonarqube 版本升级 造成很多不兼容问题 , 今天搭建一个 sonarqube7.6 版本 集成 jenkins 的教程
准备工作 Docker 、Mysql( postgresql也可以 ) ,因为本地服务器上有 mysql 所以就不再安装其他数据库了
1.docker pull sonarqube 目前版本7.6
2.mysql 创建sonar 用户名 密码
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'sonar' IDENTIFIED BY '123456';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
3.创建 docker 镜像 ,这里就不挂载盘了,端口号 用9999 映射,因为用9000端口的 应用特别多
docker run -d --name sonarqube -p 9999:9000 -p 9992:9092 -e "SONARQUBE_JDBC_USERNAME=sonar" -e "SONARQUBE_JDBC_PASSWORD=123456" -e "SONARQUBE_JDBC_URL=jdbc:mysql://192.168.19.7:3306/sonar?useUnicode=true&characterEncoding=utf8&useSSL=false" -v /etc/localtime:/etc/localtime sonarqube
jdbc_url 需要改成自己的数据库的地址
访问 localhost:9999 登录系统 默认用户 admin 密码 admin
汉化一下 Administration -> Marketplace > Chinese Pack > restart
创建 admin 的 token
4.Jenkins 配置
4.1 添加 scanner 插件 搜索 sonarqube scanner
4.2 scanner 配置 在jenkins 系统设置(全局配置&路径) 添加 sonarqube 路径及 token
4.3 jenkins 全局工具配置 中添加 sonarqube scanner 工具 ,选一个最新的版本安装就可以
4.4 构建配置 在构建项目中添加需要分析的 相关配置 projectKey 唯一 sources 表示 项目路径 .表示当前构建的项目路径
sonar.projectKey=auth
sonar.projectName=auth
sonar.language=java
sonar.java.source=1.8
sonar.sources=.
sonar.java.binaries=**/target/classes
4.5 构建项目 这时可能会出现一个错误
Error during SonarQube Scanner execution
Unable to load component class org.sonar.scanner.scan.filesystem.ProjectFileIndexer
在 sonarqube 中 添加和更新两个不太相关的插件就解决了
SonarVB SonarC#