iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0
DevOps

搞定Docker網路系列 第 23

Docker的網路-Sonarqube與Maven

  • 分享至 

  • xImage
  •  

剛好工作有個原始碼品質掃描工作,就記錄以下也分享出來,勉強跟網路有關XD:

範例目標:啟動sonarqube並用maven進行scan

  1. 啟動sonarqube

這部份先注意一下,要先做功課,因為最新版的sonarqube不再支援java 8,所以我們要上sonarqube檢視支援。

剛這個部份我就卡關很久...

https://docs.sonarsource.com/sonarqube/8.9/requirements/prerequisites-and-overview/

可以看到有支援8,所以我們就鎖定這個版本。

另外為了讓maven可以連線得到sonarqube,我們先建立一個customed network:ap_net

docker network create ap_net
docker run -d -p 9000:9000 --network=ap_net sonarqube:8.9.10-community

預設帳號密碼為admin,登入後跟著畫面取得token與連線資訊

docker inspect container_id

檢視sonarqube的ip。

  1. 將sonarqube相關資訊放入docker compose

version: "3"
name: project
services:
  maven:
    image: maven:3.9.4-eclipse-temurin-8-alpine
    volumes:
      - "/xx:xx"
      - "/m2:/root/.m2"
    working_dir: /usr/src/mymaven
    command: mvn sonar:sonar   -Dsonar.projectKey=xxxx  -Dsonar.host.url=http://172.18.0.2:9000   -Dsonar.login=80961bb0a701ecb4d5926238101e01bfe9bb6a32 clean package
    networks: 
      - ap_net
networks:
    ap_net:
     external: true
     

docker-compose -f docker-compose.yaml up

  1. 接下來就是進入sonarqube檢視成果

  1. 當然如果sonarqube曾經建立過,並且把相關資料有放到volumes,可以採用一鍵佈署
version: "3"
name: project
services:
 sonarqube:
    image: sonarqube:8.9.10-community
    ports:
     - 9000:9000
    networks: 
      - ap_net
 maven:
    image: maven:3.9.4-eclipse-temurin-8-alpine
    volumes:
      - "/source:/usr/src/mymaven"
      - "/m2:/root/.m2"
    working_dir: /usr/src/mymaven
    command: mvn sonar:sonar   -Dsonar.projectKey=xxxx  -Dsonar.host.url=http://sonarqube:9000   -Dsonar.login=80961bb0a701ecb4d5926238101e01bfe9bb6a32 clean package
    networks: 
      - ap_net
networks:
    ap_net:
     external: true

後續可以改善方向:

  1. 將sonarqube放到資料庫中
  2. 將sonarqube設通過門檻,整合進gitlab或jenkins中。

上一篇
Docker的網路-重回Traefik介紹組成對外服務與CICD
下一篇
Docker的網路-Sonarqube與Maven整合案例-compose整合
系列文
搞定Docker網路31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言