docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker-compose部署sonarqube

docker-compose部署sonarqube全过程

作者:运维开发那些事

本文介绍了如何使用docker-compose部署sonarqube,并详细说明了部署过程中需要注意的事项,包括数据库选择、插件安装等

为了简单高效地部署及管理sonar,决定采用docker-compose版本进行部署。亲测无坑,因为坑以及被我踩完了

1、部署

首先需要安装数据库,开源的可以用 mysql 或者 postgresql 。

官网上已经声明 sonarQube 7.9 版本以上不再支持 mysql 了,我们为了以后升级新版本不做数据库迁移,尽量使用 postgresql

可参考官方文档:

https://docs.sonarsource.com/sonarqube-community-build/

mkdir -p /opt/sonarqube/sonarqube/{logs,conf,data,extensions}
mkdir -p /opt/sonarqube/postgres/{postgresql,data}

vim /data/sonar/sonar-compose.yml

cat > /opt/sonarqube/docker-compose.yml <<EOF
version: '3'
services:
  postgres:
    image: postgres:12
    container_name: postgres
    restart: always
    privileged: true
    volumes:
      - ./postgres/postgresql:/var/lib/postgresql
      - ./postgres/data:/var/lib/postgresql/data
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "5432:5432"
    environment:
      POSTGRES_USER: sonar 
      POSTGRES_PASSWORD: sonar 
      POSTGRES_DB: sonar 
      TZ: Asia/Shanghai

  sonar:
    image: sonarqube:8.9.10-community
    container_name: sonar
    restart: always
    privileged: true
    depends_on:
      - postgres 
    volumes:
      - ./sonarqube/logs:/opt/sonarqube/logs
      - ./sonarqube/conf:/opt/sonarqube/conf
      - ./sonarqube/data:/opt/sonarqube/data
      - ./sonarqube/extensions:/opt/sonarqube/extensions
    ports:
      - "9000:9000"
    environment:
      SONARQUBE_JDBC_USERNAME: sonar
      SONARQUBE_JDBC_PASSWORD: sonar
      SONARQUBE_JDBC_URL: "jdbc:postgresql://postgres:5432/sonar"
EOF
cd /opt/sonarqube
docker-compose up -d

默认账号密码 admin/admin

2、插件安装

中文插件

由于找不到7.4版本,所以我们选择离线安装

cd /opt/sonarqube/sonarqube/extensions/plugins

wget https://github.com/xuhuisheng/sonar-l10n-zh/releases/download/sonar-l10n-zh-plugin-1.24/sonar-l10n-zh-plugin-1.24.jar

docker restart sonar

分支插件

社区版默认只支持主分支的代码扫描,所以要支持其他分支需要下载一个插件,

注意:下载的插件版本要检查是否支持你正在使用的sonarqube版本

下载地址

https://github.com/mc1arke/sonarqube-community-branch-plugin/releases

1、安装插件
cd /opt/sonarqube/sonarqube/extensions/plugins
wget https://github.com/mc1arke/sonarqube-community-branch-plugin/releases/download/1.18.0/sonarqube-community-branch-plugin-1.18.0.jar

2、添加配置文件
cd /opt/sonarqube/sonarqube/conf
cat > sonar.properties <<EOF
sonar.web.javaAdditionalOpts=-javaagent:./extensions/plugins/sonarqube-community-branch-plugin-1.8.0.jar=web
sonar.ce.javaAdditionalOpts=-javaagent:./extensions/plugins/sonarqube-community-branch-plugin-1.8.0.jar=ce
EOF

docker restart sonar

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文