docker部署sonarqube8.3.1版本


部署方式一:修改最大內存區域

直接起容器報錯:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
#修改宿主機的環境變量
sudo vi /etc/sysctl.conf
vm.max_map_count=655360
sudo sysctl -p

#啟動postgres容器
docker run --name pgdb -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -p 5433:5432 -v /data/postgresql/data:/var/lib/postgresql/data -d postgres


docker run --name sq --link pgdb -e SONARQUBE_JDBC_USERNAME=sonar -e SONARQUBE_JDBC_PASSWORD=sonar -e SONARQUBE_JDBC_URL=jdbc:postgresql://pgdb:5432/sonar -p 19000:9000 -v /data/sonarqube/data:/opt/sonarqube/data -v /data/sonarqube/extensions:/opt/sonarqube/extensions -v /data/sonarqube/logs:/opt/sonarqube/logs -d sonarqube:8.3.1-community

問題解決:https://github.com/SonarSource/docker-sonarqube/issues/282

注:max_map_count文件包含限制一個進程可以擁有的VMA(虛擬內存區域)的數量。虛擬內存區域是一個連續的虛擬地址空間區域。在進程的生命周期中,每當程序嘗試在內存中映射文件,鏈接到共享內存段,或者分配堆空間的時候,這些區域將被創建。調優這個值將限制進程可擁有VMA的數量。限制一個進程擁有VMA的總數可能導致應用程序出錯,因為當進程達到了VMA上線但又只能釋放少量的內存給其他的內核進程使用時,操作系統會拋出內存不足的錯誤。如果你的操作系統在NORMAL區域僅占用少量的內存,那么調低這個值可以幫助釋放內存給內核用。

 

部署方式二:禁用es

docker run --name pgdb --restart always -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -p 5433:5432 -v /data/postgresql/data:/var/lib/postgresql/data -d postgres



docker run --name sonarqube  --restart always --link pgdb -e SONARQUBE_JDBC_USERNAME=sonar -e SONARQUBE_JDBC_PASSWORD=sonar -e SONARQUBE_JDBC_URL=jdbc:postgresql://pgdb:5432/sonar -Dsonar.search.javaAdditionalOpts=-Dnode.store.allow_mmapfs=false -p 19000:9000 -v /data/sonarqube/data:/opt/sonarqube/data -v /data/sonarqube/extensions:/opt/sonarqube/extensions -v /data/sonarqube/logs:/opt/sonarqube/logs -d sonarqube:8.3.1-community

注:添加-Dnode.store.allow_mmapfs=falsesonar.search.javaAdditionalOpts,您將無法使用nmap運行ES。

問題解決摘自:https://community.sonarsource.com/t/unable-to-disable-mmapfs-use-in-elasticsearch/11413

配置文件內容

sonar.login=admin
sonar.password=admin
sonar.jdbc.url=jdbc:mysql://10.0.0.7:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.web.javaOpts=-server

啟動sonarqueb的docker容器

安裝插件

插件地址:https://binaries.sonarsource.com/

插件地址:https://github.com/

介紹:這里我們演示直接在sonarqube安裝也會說明把插件安裝到目錄下(網絡不好,插件直接下載不下來)。

8.3.1版本的插件總表:https://docs.sonarqube.org/latest/instance-administration/plugin-version-matrix/

方式一:上傳目錄

官方插件下載地址:https://binaries.sonarsource.com/Distribution/

8.3.1版本官方文檔下載插件:https://docs.sonarqube.org/latest/analysis/languages/csharp/

默認安裝插件位置:/opt/sonarqube/extensions/plugins。(docker 8.3.1版本目錄地址 ,后期可以進入docker容器進行find / -name "plugins"查找)這里需要注意sonarqube版本的不同中文插件的安裝也會不同,中文插件地址

中文插件版本:

 

 

 中文包插件安裝:

wget https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/download/sonar-l10n-zh-plugin-8.3/sonar-l10n-zh-plugin-8.3.jar
docker cp   sonar-l10n-zh-plugin-8.3.jar  sq:/opt/sonarqube/extensions/plugins/

java插件安裝:

wget https://binaries.sonarsource.com/Distribution/sonar-java-plugin/sonar-java-plugin-6.3.0.21585.jar
docker cp sonar-java-plugin/sonar-java-plugin-6.3.0.21585.jar sq:/opt/sonarqube/extensions/plugins/

python插件安裝:

wget https://binaries.sonarsource.com/Distribution/sonar-python-plugin/sonar-python-plugin-2.9.0.6410.jar
docker cp sonar-python-plugin-2.9.0.6410.jar  sq:/opt/sonarqube/extensions/plugins/

C++插件安裝:

c++插件安裝地址:https://github.com/SonarOpenCommunity/sonar-cxx/releases (請先查看兼容表)

wget https://binaries.sonarsource.com/CommercialDistribution/sonar-cfamily-plugin/sonar-cfamily-plugin-6.9.0.17076.jar
docker cp sonar-cfamily-plugin-6.9.0.17076.jar  sq:/opt/sonarqube/extensions/plugins/

js插件安裝:

官方文檔:用於JavaScript 用於TypeScript

注:js插件需要安裝兩個,只安裝一個js插件會導致插件不兼容,容器起不來或者服務起不來。

 

wget https://binaries.sonarsource.com/Distribution/sonar-typescript-plugin/sonar-typescript-plugin-2.1.0.4359.jar
docker cp sonar-typescript-plugin-2.1.0.4359.jar sq:/opt/sonarqube/extensions/plugins/


wget https://binaries.sonarsource.com/Distribution/sonar-javascript-plugin/sonar-javascript-plugin-6.2.1.12157.jar
docker cp sonar-javascript-plugin-6.2.1.12157.jar sq:/opt/sonarqube/extensions/plugins/

方式二:直接安裝插件

 

 結語:安裝插件的方式也就這兩種,如果網絡可以,直接安裝,網絡差可以選擇直接上傳到目錄。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM