jenkins 集成 sonarqube

1. Docker 安装 sonarqube

# 1. 拉取镜像
docker pull sonarqube:8.9.2-community

# 3. 修改系统参数
echo "vm.max_map_count=262144" > /etc/sysctl.conf
sysctl -p

# 5. 运行测试服务,将对应的sonar 文件拷贝到宿主机
docker run -d --name sonarqube --restart always -p 9000:9000 sonarqube:8.2-community 

# 6. 拷贝文件
docker cp sonartest:/opt/sonarqube /soft

# 4 修改文件夹权限
chmod -R 777 /soft/sonarqube/

# 7. 运行容器
# sonarqube 系统搭建
  sonarqube:
    image: sonarqube:8.9.2-community
    container_name: sonarqube
    restart: always
    ports:
      - "9090:9000"
    volumes:
      - /soft/sonarqube:/opt/sonarqube/
    environment:
      ALLOW_EMPTY_PASSWORD: "YES"
      SONARQUBE_DATABASE_USER: "sonar"
      SONARQUBE_DATABASE_NAME: "sonar"
      SONARQUBE_DATABASE_PASSWORD: "sonar"
      SONARQUBE_JDBC_URL: "jdbc:mysql://192.168.220.132:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false"
      # SONARQUBE_JDBC_URL: "jdbc:postgresql://192.168.220.132:5432/sonar"
    privileged: true

2. docker 配置数据库

mysql -uroot -p  # 密码 123456
GRANT ALL ON *.* TO 'root'@'%';  #所有网络都可访问
create database sonar;     #创建 sonarqube 数据库
# 添加远程登录用户:sonar ,并授予权限。
CREATE USER 'sonar'@'%' IDENTIFIED WITH mysql_native_password BY 'sonar';  
GRANT ALL PRIVILEGES ON *.* TO 'sonar'@'%';
flush privileges;    # 刷新权限

启动sonar 报错:

Exception in thread "main" org.sonar.process.MessageException: Unsupported JDBC driver provider: mysql
Dropping Privileges

新版的SonarQube(7.9+)只支持以下数据库:
Microsoft SQL Server、Oracle、PostgreSQL、H2 (默认的嵌入式数据库)\

3. 安装pg 数据库

# 1. 拉取镜像
docker pull postgres
# 2. 创建宿主机文件夹
mkdir -p /soft/postgresql/data /soft/postgresql/postgresql
# 3. 启动容器
# postgresql
  postgresql:
    image: postgres
    container_name: postgresql
    restart: always
    ports:
      - "5432:5432"
    volumes:
      - /soft/postgresql/:/var/lib/postgresql
      - /etc/localtime:/etc/localtime:ro
    environment:
      POSTGRES_USER: sonar
      POSTGRES_PASSWORD: sonar
      POSTGRES_DB: sonar
      TE: Asia/Shanghai # 时区
    privileged: true


猜你喜欢

转载自blog.csdn.net/qq_16183731/article/details/121439296