jenkins+sonarqube +postgres docker-compose 一键部署安装

SonarQube是一种自动代码审查工具,可检测代码中的错误,漏洞和代码味道。它可以与您现有的工作流程集成,以实现跨项目分支和提取请求的连续代码检查。目前 支持java, Python, C#, PHP,PL/SQL,Cobol,JavaScrip,Groovy等二十几种编程语言的代码质量管理与检测

 

制作dockerfile

FROM jenkins/jenkins:2.523-jdk17

USER root



# 安装 sudo (可能需要用来管理用户组)
RUN apt-get update && apt-get install -y sudo

# 创建 docker 用户组,并显式指定 GID 为 988 (与宿主机 docker 组 GID 一致)
RUN sudo groupadd --gid 988 docker || true

ADD jdk-17.0.11_linux-x64_bin.tar.gz  /usr/local/java
ADD apache-maven-3.9.9-bin.tar.gz  /usr/local/maven

ENV JAVA_HOME=/usr/local/java/jdk-17.0.11
ENV M2_HOME=/usr/local/maven/apache-maven-3.9.9
ENV PATH=$JAVA_HOME/bin:$PATH
ENV PATH=$M2_HOME/bin:$PATH
ENV JAVA_OPTS=-Djava.awt.headless=true
ENV TZ=Asia/Shanghai
ENV LANG=C.UTF-8

USER jenkins

 

制作compose.yml

services:
  jenkins:
    image: 10.8.10.200:18088/library/qk-jenkins:2.523-jdk17
    container_name: jenkins
    user: jenkins
    ports:
      - "18899:8080"     
      - "50000:50000"    
    volumes:
      - ./jenkins:/var/jenkins_home
      - /usr/bin/docker:/usr/bin/docker
      - /var/run/docker.sock:/var/run/docker.sock
      - /app/env/jenkins-docker/daemon.json:/etc/docker/daemon.json
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    group_add:
      - 988      
    environment:
      - DOCKER_HOST=unix:///var/run/docker.sock      
    networks:
      - jenkins-network
    depends_on:
      - sonarqubedb
      - sonarqube


  sonarqube:
    image: sonarqube:lts-community             
    container_name: sonarqube
    depends_on:
      - sonarqubedb
    environment:
      SONAR_JDBC_URL: jdbc:postgresql://sonarqubedb:5432/sonar
      SONAR_JDBC_USERNAME: sonar
      SONAR_JDBC_PASSWORD: sonar
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./sonarqube/conf:/opt/sonarqube/conf
      - ./sonarqube/data:/opt/sonarqube/data
      - ./sonarqube/extensions:/opt/sonarqube/extensions
    ports:
      - "19000:9000"
    networks:
      - jenkins-network  


  sonarqubedb:
    image: postgres:15.12-alpine
    container_name: sonarqubedb
    environment:
      POSTGRES_USER: sonar
      POSTGRES_PASSWORD: sonar
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./postgresql_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U sonar"]
      interval: 10s
      timeout: 5s
      retries: 5
    networks:
      - jenkins-network  
      
networks:
  jenkins-network:
    driver: bridge

浏览器访问:ip+端口,如:192.168.4.12:9000

管理员账号密码都是:admin

image

修改密码

image

 

下载SonarQube 中文包

https://github.com/xuhuisheng/sonar-l10n-zh

image

将下载好的sonar-l10n-zh-plugin-26.4.jar文件,放在以下路径:

/data/sonarqube/extensions/downloads

重启sonar

docker 重启或界面重启

image

image

 

posted @ 2026-05-28 16:35  追梦$少年  阅读(9)  评论(0)    收藏  举报