基于docker-compose搭建sonarqube代码质量检测平台

    技术2022-07-12  69

    一、需求

    在我们开发的过程中,难免有时候代码写的不规范,或存在一些静态的bug问题,这个时候一个良好的代码检查工具就很有必要,而sonarqube正好可以满足整个要求。

    二、 docker-compose 文件的编写

    version: "3" services: sonarqube: image: sonarqube:8.3.1-community container_name: sonarqube restart: 'no' networks: - sonarnet environment: - sonar.jdbc.username=sonar - sonar.jdbc.password=sonar - sonar.jdbc.url=jdbc:postgresql://sonarqube-postgre:5432/sonarqube - sonar.search.javaOpts=-Xms256m -Xmx256m ports: - "9010:9000" - "9011:9092" depends_on: - sonarqube-postgre links: - sonarqube-postgre volumes: - sonarqube_data:/opt/sonarqube/data - sonarqube_extensions:/opt/sonarqube/extensions - sonarqube_bundled-plugins:/opt/sonarqube/lib/bundled-plugins sonarqube-postgre: image: postgres:12.3 container_name: sonarqube-postgre restart: 'no' networks: - sonarnet environment: - POSTGRES_USER=sonar - POSTGRES_PASSWORD=sonar - POSTGRES_DB=sonarqube volumes: - sonarqube_postgre_db:/var/lib/postgresql - sonarqube_postgre_data:/var/lib/postgresql/data volumes: sonarqube_bundled-plugins: sonarqube_data: sonarqube_extensions: sonarqube_postgre_db: sonarqube_postgre_data: networks: sonarnet: driver: bridge

    三、运行

    docker-compose -f 文件路径 up

    四、注意事项

    sonarqube 的镜像数据挂载,最好使用数据卷volume。在多个 sonarqube 实例 中不可使用相同的数据卷。每个 sonarqube 实例 最好有自己的单独的 数据库schema。es在linux环境下运行需要注意的必要环境,可以看 下方的参考链接,[sonarqube镜像]当宿主机的内存比较小的时候,在镜像文件中需要增加 sonar.search.javaOpts=-Xms256m -Xmx256m参数,否则可能会出现 SonarQube Process exited with exit value [es]: 137 问题。

    五、参考链接

    sonarqube镜像 https://hub.docker.com/_/sonarqube sonarqube官网 https://docs.sonarqube.org/latest/setup/install-server/

    Processed: 0.008, SQL: 9