簡體   English   中英

Docker - Jenkins 無法到達 sonarqube(通過 localhost/127.0.0.1:9000)

[英]Docker - Jenkins unable to reach sonarqube (via localhost/127.0.0.1:9000)

首先,我知道 StackOverflow 上有很多關於這個問題的類似帖子,我已經嘗試過提供的“解決方案”。 可以使用本地主機 IP 或聲納 Docker IP 作為 ZE6B391A8D2C4D45903DZ3 中的“系統” 但這兩種方法在我的情況下似乎都不起作用。 我哪里配置錯了?

聲納 Docker 命令:

docker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true -p 9000:9000 sonarqube:latest

Jenkins Docker 命令:

docker run \
  --name jenkins-docker \
  --rm \
  --detach \
  --privileged \
  --network jenkins \
  --network-alias docker \
  --env DOCKER_TLS_CERTDIR=/certs \
  --volume jenkins-docker-certs:/certs/client \
  --volume jenkins-data:/var/jenkins_home \
  --publish 3000:3000 \
  --publish 2376:2376 \
  docker:dind \
  --storage-driver overlay2

Docker網絡

在此處輸入圖像描述

配置系統 - “秘密文本”包含我從 SonarQube 獲得的令牌

在此處輸入圖像描述

全局工具配置

在此處輸入圖像描述

流水線腳本

pipeline { 
    agent any 
    stages { 
        stage ('Checkout') { 
            steps { 
                git branch:'master', url: 'https://github.com/OWASP/Vulnerable-Web-Application.git' 
            } 
        } 
         
        stage('Code Quality Check via SonarQube') { 
           steps { 
               script { 
                def scannerHome = tool 'SonarQube'; 
                   withSonarQubeEnv('SonarQube') { 
                   sh "${scannerHome}/bin/sonar-scanner -Dsonar.projectKey=OWSAP -Dsonar.sources=." 
                   } 
               } 
           } 
        } 
    } 
    post { 
        always { 
            recordIssues enabledForFailure: true, tool: sonarQube() 
        } 
    } 
} 

在構建 sonarqube 容器時嘗試使用--network jenkins

或者不使用 --network 參數,默認為兩個容器使用bridge模式

Jenkins 和 Sonarqube 應該是同一個網絡。 然后嘗試使用http://172.17.0.1:9000http://sonarqube:9000如果http://localhost:9000不起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM