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

修改密码

下载SonarQube 中文包
https://github.com/xuhuisheng/sonar-l10n-zh

将下载好的sonar-l10n-zh-plugin-26.4.jar文件,放在以下路径:
/data/sonarqube/extensions/downloads
重启sonar
docker 重启或界面重启



浙公网安备 33010602011771号