您的位置 首页 Jenkins

sonarqube 安装(docker)

docker compose 下安装 sonarqube(带多分支插件)

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博客

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章