持续集成持续部署 | SonarQube的搭建

使用 docker 安装 Sonarqube

Sonarqube7 以后不能支持 jdk1.8以及mysql,需要安装 Sonarqube6.5

安装mysql 5

由于 Sonarqube 只能支持 mysql5版本,这里选择mysql 5.6

安装 mysql5.6
docker pull mysql:5.6
查看镜像
docker images

需要可以看到 mysql5.6 的相关image

在opt下创建文件夹
cd /opt/
mkdir mysql_docker
cd mysql_docker/
启动mysql容器

mysql_docker 目录下执行

docker run --name mysqlserver -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 3306:3306 mysql:5.6

Mysql 密码为123456

mysql 中的所需配置

需要创建 sonar 数据库,用于存放代码审查结果

create database sonar;
exit;
安装 sonarqube

注意:sonarqube7不再支持mysql 以及jdk1.8 需要安装 sonarqube6

  1. 创建网络

    docker network create sonarqube-tier
    
  2. 安装 Sonarqube

    docker pull sonarqube:6.5
    
  3. 创建工作目录

    mkdir -p /data/sonarqube
    
  4. 修改系统参数

    echo "vm.max_map_count=262144" > /etc/sysctl.conf
    sysctl -p
    
  5. 运行一个test容器

    docker run -d --name sonartest sonarqube:6.5
    

    将容器内重要文件复制到宿主机

    docker cp sonartest:/opt/sonarqube/conf /data/sonarqube
    docker cp sonartest:/opt/sonarqube/data /data/sonarqube
    docker cp sonartest:/opt/sonarqube/logs /data/sonarqube
    docker cp sonartest:/opt/sonarqube/extensions /data/sonarqube
    

    然后删除此容器

    docker rm sonartest
    

    修改文件夹权限

    chmod -R 777 /data/sonarqube/
    
  6. 修改配置

    找到 /data/sonarqube/conf/ 路径下的文件 sonar.properties,修改如下并保存

    # 找到如下配置去掉注释。并赋值 username,password
    sonar.jdbc.username=root
    sonar.jdbc.password=123456
    
    # 去掉 sonar.jdbc.url 注释,配置url
    
    sonar.jdbc.url= mysql相关地址
    

7 . 使用docker命令创建容器

docker run -d --name sonar -p 9090:9000 \
 --net sonarqube-tier \
 --privileged=true \
 --restart always \
 -v /data/sonarqube/logs:/opt/sonarqube/logs \
 -v /data/sonarqube/conf:/opt/sonarqube/conf \
 -v /data/sonarqube/data:/opt/sonarqube/data \
 -v /data/sonarqube/extensions:/opt/sonarqube/extensions\
 sonarqube:6.5

SonarQube整合p3c规则

p3c下载
下载完后,将jar包上传到/data/sonarqube/extensions/plugins中(推荐mac上传输文件到服务器的软件FileZilla
持续集成持续部署 | SonarQube的搭建

规则配置

登录 SonarQube 打开 质量配置(profiles)页,点击右上方的【create】按钮,创建 p3c/java规则
持续集成持续部署 | SonarQube的搭建
首次创建会跳转到代码规则配置页面,刚新建的 profile 是没有激活任何规则的,需要手动激活 Active More持续集成持续部署 | SonarQube的搭建

我们需要为刚创建的 p3c profile 激活 p3c 规则,点击【激活更多规则】
持续集成持续部署 | SonarQube的搭建
跳转到激活页面,搜索【p3c】,点击【Bulk change】,激活所有 p3c 规则
返回质量配置页,我们可以设置 p3c profile 为默认。

上一篇:Jenkins+SonarQube 构建前审查代码


下一篇:代码质量管理平台SonarQube的安装、配置与使用