Docker sonar本地搭建
阿新 • • 發佈:2018-11-30
1、資料庫操作:
進去資料庫複製程式碼
psql -U postgres -h 127.0.0.1
複製程式碼
檢視所有使用者
postgres=# \du複製程式碼
建立資料庫
CREATE DATABASE sonar複製程式碼
建立角色
CREATE ROLE sonar
ALTER ROLE sonar WITH LOGIN;複製程式碼
2、Docker構建sonar映象(SONARQUBE_JDBC_URL:更改成自己的資料庫地址,案例ip為:192.168.0.25)
映象構建
docker run -d --name sonarqube \
-p 8888:9000 -p 9092:9092 \
-e SONARQUBE_JDBC_USERNAME=sonar \
-e SONARQUBE_JDBC_PASSWORD=sonar \
-e SONARQUBE_JDBC_URL=jdbc:postgresql://192.168.0.25/postgres \
-d sonarqube複製程式碼
登入:
http://192.168.0.25:8888/about複製程式碼
預設賬號密碼為:
admin,admin複製程式碼
外掛安裝:(Chinese Pack 外掛安裝和CheckStyle 外掛安裝)
點選 配置 -> 系統 -> 更新中心 -> Available -> Search,輸入 CheckStyle,在搜素結果中找到 對應 外掛點選 Install,等待下載完成後,按照頁面提示點選 Restart 自動重啟服務即可完成安裝。
3上傳專案到sonar
maven配置:
<settings> <pluginGroups>
<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups> <profiles> <profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault>
</activation> <properties> <!-- 配置 Sonar Host地址,預設:http://localhost:9000 -->
<sonar.host.url> http://myserver:9000
</sonar.host.url> </properties> </profile> </profiles> </settings>
複製程式碼
專案配置:
如果我們想指定使用某個版本的 sonar-maven-plugin 外掛,比如 3.3.0.603 版本,可以有兩種方式:
一、修改 pom.xml 檔案
<build>
<plugins>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.3.0.603</version>
</plugin>
</plugins>
</build>
複製程式碼
二、使用 mvn 命令指定
mvn clean install -DskipTests=true org.sonarsource.scanner.maven:sonar-maven-plugin:3.3.0.603:sonar複製程式碼
4、上傳專案到映象倉庫:
進去配置檔案:/etc/docker/daemon.json
{
"registry-mirrors": ["https://3itj1ym2.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.199.201"],#這裡修改你對應的倉庫地址,即harbor地址
"hosts": [
"tcp://0.0.0.0:2375",
"unix:///var/run/docker.sock"
]
}複製程式碼
進去配置檔案:/lib/systemd/system/docker.service
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd#去掉後面的東西
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always複製程式碼
重啟
sudo chmod -R 777 /var/run/docker.sock
sudo systemctl daemon-reload
sudo systemctl start docker
sudo systemctl enable docker複製程式碼
登入:docker login 192.168.0.7(寫入賬戶密碼)
執行:(這裡需要配置dockerfile-maven-plugi外掛)
mvn clean deploy -U -DskipTests=true -P yiye_two_test 複製程式碼