Docker 构建自定义 SonarQube 镜像
针对 SonarQube 社区版的一些不足,我们可以通过开源的第三方插件等完善它,为了方便后续部署或迁移,我们可以将我们改造过的应用构建成一个镜像包。
Dockerfile 配置说明:https://blog.yujian95.cn/archives/dockerfile
增加的第三方插件
名称 | 功能 | 地址 |
---|---|---|
sonarqube-community-branch-plugin | 一个SonarQube插件,允许在Community版本中进行分支分析。 | https://github.com/mc1arke/sonarqube-community-branch-plugin |
sonar-l10n-zh | 中文语言包 | https://github.com/xuhuisheng/sonar-l10n-zh |
sonar-gitlab-plugin | gitlab 提交分析 | https://github.com/gabrie-allaigre/sonar-gitlab-plugin |
sonar-pmd-plugin | 阿里代码规范 | https://github.com/caowenliang/sonar-pmd-p3c |
Dockerfile 定义内容
FROM sonarqube:8.9-community
MAINTAINER yujian95 yujian95_cn@163.com
# 复制第三方插件
# 多分支检测插件,需要放置在 /lib/common/ 和 /extensions/ 下面
COPY 3rd-party-plugins/sonarqube-community-branch-plugin-1.8.1.jar /opt/sonarqube/lib/common/
COPY 3rd-party-plugins/sonarqube-community-branch-plugin-1.8.1.jar /opt/sonarqube/extensions/
# 多分支检测插件配置
# - sonar.ce.javaAdditionalOpts=-javaagent:./extensions/plugins/sonarqube-community-branch-plugin-1.8.1.jar=ce
# - sonar.web.javaAdditionalOpts=-javaagent:./extensions/plugins/sonarqube-community-branch-plugin-1.8.1.jar=web
COPY conf/sonar.properties /opt/sonarqube/conf/
# 中文语言包,或者 直接通过插件商城安装
COPY 3rd-party-plugins/sonar-l10n-zh-plugin-8.9.jar /opt/sonarqube/extensions/
构建命令
# 一般情况下
docker build -t yujian95/sonarqube:8.9 .
# 使用 苹果 M1 芯片构建时,需要指定运行环境
docker buildx build -t yujian95/sonarqube:8.9 --platform=linux/amd64 -o type=docker .
docker login
docker push yujian95/sonarqube:8.9
评论