1. 程式人生 > >Docker sonar本地搭建

Docker sonar本地搭建

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   複製程式碼