天天看點

基于docker-compose搭建sonarqube代碼品質檢測平台一、需求二、 docker-compose 檔案的編寫三、運作四、注意事項五、參考連結

一、需求

在我們開發的過程中,難免有時候代碼寫的不規範,或存在一些靜态的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

四、注意事項

  1. sonarqube

    的鏡像資料挂載,最好使用資料卷

    volume

  2. 在多個

    sonarqube

    執行個體 中不可使用相同的資料卷。
  3. 每個

    sonarqube

    執行個體 最好

    自己的

    單獨

    資料庫schema

  4. es

    linux

    環境下運作需要注意的必要環境,可以看 下方的參考連結,[sonarqube鏡像]
  5. 當主控端的記憶體比較小的時候,在鏡像檔案中需要增加

    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/

繼續閱讀