우리는 우리의 데이터 센터와 우리의 프록시 뒤에 젠킨스 서버 설정이 있습니다.
우리는 그 기계가 SonarQube Scanner를 repo에서 실행시키고 결과를 우리 네트워크 외부의 SonarQube 서버 (AWS에서)에 공개하려고합니다.젠킨스 SonarQube 스캐너 프록시 뒤에
22:12:31.612 DEBUG: keyStore is : 22:12:31.613 DEBUG: keyStore type is : jks 22:12:31.613 DEBUG: keyStore provider is : 22:12:31.613 DEBUG: init keystore 22:12:31.613 DEBUG: init keymanager of type SunX509 22:12:31.682 INFO: User cache: /zdata/jenkins/.sonar/cache 22:12:31.683 DEBUG: Extract sonar-scanner-api-batch in temp... 22:12:31.687 DEBUG: Get bootstrap index... 22:12:31.687 DEBUG: Download: http://my-sq-server.com/batch/index 22:12:31.713 ERROR: SonarQube server [http://my-sq-server.com] can not be reached
나는 Sonar Runner Behind a Proxy를 읽고 섹션을 JVM 옵션 섹션에서 해당 값을 넣고 추가 옵션 시도 : 우리 SonarQube 서버에 연결하려고 할 때
작업이 제대로 수중 음파 탐지기 스캐너를 시작하지만 실패 그러나 그들은 어떤 차이도없는 것처럼 보입니다.
이 문제를 조금 해결하기 위해 나는 단지 bash 스크립트를 통해 Jenkins 작업에 간단한 curl
단계를 추가했으며, 동일한 서버에 충돌하여 정상적으로 작동했습니다.
나는 여기에 아주 작은 세부 사항을 놓치고 있지만 나는 SQ를 처음 접했고 다른 곳을 알지 못한다고 확신한다.
UPDATE는
는 현재 출력이 표시됩니다 :
/zdata/jenkins/tools/hudson.plugins.sonar.SonarRunnerInstallation/scanner-3.0.1.733/bin/sonar-scanner -Dhttp.proxyHost=proxy.hostname.com -Dhttp.proxyPort=8080 -e -Dsonar.host.url=http://my-sonarqube-server.com ******** -Dsonar.sourceEncoding=UTF-8 -Dsonar.sources=. -Dsonar.language=js -Dsonar.exclusions=__tests__/**,**/node_modules/**,coverage/** -Dsonar.projectVersion=1.0 -Dsonar.projectKey=repo-key -Dsonar.verbose=true -Dsonar.javascript.lcov.reportPath=coverage/lcov.info -Dsonar.tests=__tests__ "-Dsonar.projectName=Project Name" -Dsonar.projectBaseDir=/zdata/jenkins/workspace/my-project
사용중인 스캐너의 버전을 정확하게 지정할 수 있습니까? 최근 버전에서는 프록시와 관련하여 몇 가지 개선 사항을 수행했습니다. –
3.0.1.733 (및 SonarQube Scanner for Jenkins 2.6.1) – arsdehnel
JVM 옵션에'-Djavax.net.debug = all'을 전달하십시오. 이렇게하면 네트워크 관련 작업이 기록됩니다. 이는 매우 장황하지만 어떤 일이 발생하는지 이해하는 데 도움이됩니다. "출력"을 관리하지 않으면 SonarQube 사용자 그룹에 새 스레드를 만드는 것이 좋습니다. 그래서 문제를 조사하는 것은 적절하지 않습니다. –