docker compose 下安装 sonarqube(带多分支插件) {#articleContentId}
2、sonarqube 依赖 Elasticsearch(存储代码扫描报告)、postgres(存储规则数据、账号密码等)。而 Elasticsearch 本身是不能用 root 账户启动的(如果是 tar 包安装在启动 sonarqube 的时候经常忘记切换账户而启动失败),postgres 也得安装,java 也得装(java 还有版本的限制,高版本的 sonarqube 都依赖到 java 11\java 17 很容易跟项目的Java版本冲突)。
二、安装准备
1、一台2核4G的虚拟机(不管是VMWare还是阿里云ECS,2C4G至少保证服务启动起来,虚拟机不会卡死)。
2、安装有 docker 和 docker compose
1、sonarqube 版本
现在sonarqube官网 上最新版是10.4,但是长期维护版是9.9.4,所以我们 sonarqube 版本选用 9.9.4 这个版本。
2、sonarqube-community-branch-plugin 版本
现在我们官网上下到的 sonarqube 都是社区版 Community Edition,社区版代码扫描分支只支持 master,要多分支支持,需要再下载一个插件 sonarqube-community-branch-plugin,放到 /opt/sonarqube/extensions/plugins 下面(注意放到别的目录不起作用)。
我们进到 sonarqube-community-branch-plugin的github。
https://github.com/mc1arke/sonarqube-community-branch-plugin
在兼容性这一块,sonarqube 9.9 提供的是 1.14.0 版本的插件。
Release 1.14.0 · mc1arke/sonarqube-community-branch-plugin (github.com)
四、安装
1、docker-compose.yml
version: "2"
services:
sonarqube:
image: sonarqube:lts
container_name: sonarqube
depends_on:
- db
ports:
- 9002:9000
networks:
- sonarnet
environment:
SONARQUBE_JDBC_URL: jdbc:postgresql://db:5432/sonar
SONARQUBE_JDBC_USERNAME: sonar
SONARQUBE_JDBC_PASSWORD: sonar
volumes:
- ./sonarqube/conf:/opt/sonarqube/conf
- ./sonarqube/data:/opt/sonarqube/data
- ./sonarqube/extensions:/opt/sonarqube/extensions
- ./sonarqube/lib/bundled-plugins-plugins:/opt/sonarqube/lib/bundled-plugins
- ./sonarqube-community-branch-plugin-1.14.0.jar:/opt/sonarqube/extensions/plugins/sonarqube-community-branch-plugin.jar
- ./sonarqube-community-branch-plugin-1.14.0.jar:/opt/sonarqube/lib/common/sonarqube-community-branch-plugin.jar
db:
image: postgres
container_name: sonar_postgres
networks:
- sonarnet
environment:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
POSTGRES_DB: sonar
volumes:
- ./postgresql/data:/var/lib/postgresql/data
networks:
sonarnet:
driver: bridge
然后准备好问文件,再启动
准备文件:
(1)
先把 sonarqube-community-branch-plugin-1.14.0.jar 放到 docker-compose.yaml 同级路径下
(2)
准备: sonar.properies 放到路径: ./sonarqube/conf
sonar.properies 内容如下:
sonar.web.javaAdditionalOpts=-javaagent:./extensions/plugins/sonarqube-community-branch-plugin.jar=web
sonar.ce.javaAdditionalOpts=-javaagent:./extensions/plugins/sonarqube-community-branch-plugin.jar=ce
sonar.jdbc.url=jdbc:postgresql://db:5432/sonar?currentSchema=public
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
(3)修改权限
chmod 777 -R sonarqube
chmod 777 -R postgresql
权限要修改,不然es 会报错
这里要多尝试几次, 删除文件夹,在重启也试试
3-访问:
http://10.0.0.215:9002/
默认管理员账号 admin/admin
baimei123
接着会有插件风险提示,因为
sonarqube-community-branch-plugin 插件不是 sonarqube 官网插件,会有风险提示。
点击 I understand the risk 后,就进入 sonarqube web 界面了。
分别点击 1、2、3 就能在应用市场看到我们已经安装的插件里面,有
sonarqube-community-branch-plugin
docker compose 下安装 sonarqube(带多分支插件)_docker-compose sonarqube-CSDN博客