文章目录
  1. 1. 前言
  2. 2. 安装
    1. 2.1. 安装 Docker
    2. 2.2. 创建数据库
    3. 2.3. 安装 SonarQube
      1. 2.3.1. 编译 branch 插件
      2. 2.3.2. 编写 docker 编排文件
      3. 2.3.3. 使用编译好的 branch 插件
    4. 2.4. 简便安装带 branch 插件 sonarqube

前言

代码质量是我们一直关心的东西,首当其冲的我们需要 CodeReview,但是代码多了我们也会耗时耗力,所以我们需要借助工具来帮我们,这里就要推荐 SonarQube。
当然这篇教程还有个福利就是我们可以免费使用付费功能:branch。

安装

安装 Docker

  • docker 安装
1
$ yum install docker -y
  • docker-compose 安装
1
$ yum install docker-compose -y
  • 启动 docker
1
$ service docker start

创建数据库

这个数据库是为了下面安装 SonarQube 准备的,这里我使用的是 mysql

1
$ CREATE DATABASE sonarqube

安装 SonarQube

如果不想看细节,直接看 简便安装带 branch 插件 sonarqube 即可。
这里重点来了,从 6.6 版本开始 sonarqube 把 branch 功能改成收费的了,导致的问题就是我们只能静态分析 master 分支了。
sonar_branch_need_pay

那么我们如何解决:

  1. 使用 7.1 版本镜像
  2. 编译社区版本的 branch 插件的 jar 包

编译 branch 插件

因为 branch 插件从 sonarqube 的应用市场安装是需要付费的,但是有人弄出来一个社区插件:https://github.com/msanez/sonar-branch-community
我们下载下来编译成为 jar 即可,当然我自己也编译好了一份,大家可以方便下载:sonar-branch-plugin-2.0.0.jar

编写 docker 编排文件

这里我们要注意我们必须是用的是 7.1 版本,数据库 jdbc 地址用户名密码,根据自己的情况调整。保存文件为 docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
version: '2'

services:
sonarqube:
image: sonarqube:7.1
restart: always
ports:
- "9000:9000"
- "9092:9092"
environment:
SONARQUBE_JDBC_USERNAME: ${username}
SONARQUBE_JDBC_PASSWORD: ${password}
SONARQUBE_JDBC_URL: jdbc:mysql://192.xxx.xxx.xxx/sonarqube

我们保存好 docker-compose.yml 文件后就可以启动了

1
$ docker-compose up -d

使用编译好的 branch 插件

找到 sonarqube 容器 ID

1
$ docker ps

进入容器中

1
$ docker exec -it [容器ID] /bin/bash

到插件文件夹下

1
$ cd extensions/plugins

下载已经编译好的插件

1
$ wget https://raw.githubusercontent.com/wz2cool/java-resource/master/jar/sonar-branch-community/2.0/sonar-branch-plugin-2.0.0.jar

重启 sonarqube
sonar_restart

大功告成,还有就是不要升级插件!
sonar_branch_complete

简便安装带 branch 插件 sonarqube

其实已经编译了一个镜像wz2cool/sonarqube-branch:7.1,直接用即可,是不是很方便。
修改 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
version: '2'

services:
sonarqube:
image: wz2cool/sonarqube-branch:7.1
restart: always
ports:
- "9000:9000"
- "9092:9092"
environment:
SONARQUBE_JDBC_USERNAME: ${username}
SONARQUBE_JDBC_PASSWORD: ${password}
SONARQUBE_JDBC_URL: jdbc:mysql://192.xxx.xxx.xxx/sonarqube

启动

1
$ docker-compose up -d
文章目录
  1. 1. 前言
  2. 2. 安装
    1. 2.1. 安装 Docker
    2. 2.2. 创建数据库
    3. 2.3. 安装 SonarQube
      1. 2.3.1. 编译 branch 插件
      2. 2.3.2. 编写 docker 编排文件
      3. 2.3.3. 使用编译好的 branch 插件
    4. 2.4. 简便安装带 branch 插件 sonarqube