2017-04-26 2 views
1

Jenkins 파이프 라인에서 SonarQube Scanner를 실행하고 싶습니다.SonarQube 스캐너가 명령을 찾을 수 없어 Jenkins 파이프 라인에서 실패했습니다.

오류에 대해서는 스캐너가 있지만 일부 명령을 찾을 수없는 것 같습니다. 내 젠킨스 인스턴스는 도커에서 실행됩니다.

젠킨스 버전 : 2.46.1

SonarQube 스캐너 : 그것을 재설정하는 것은 내가 사용

def sonarqubeScannerHome = tool name: 'SonarQubeScanner', type: 'hudson.plugins.sonar.SonarRunnerInstallation' 
withEnv(["PATH=/usr/bin: ..."]) { 
    // Your call to Sonar 
    sh "${sonarqubeScannerHome}/bin/sonar-scanner -e -Dsonar.host.url=..." 
} 

충분한 경우 2.6.1

+ /var/lib/jenkins/tools/hudson.plugins.sonar.SonarRunnerInstallation/SonarQube_Scanner/bin/sonar-scanner 
/var/lib/jenkins/tools/hudson.plugins.sonar.SonarRunnerInstallation/SonarQube_Scanner/bin/sonar-scanner: line 56: which: command not found 
/var/lib/jenkins/tools/hudson.plugins.sonar.SonarRunnerInstallation/SonarQube_Scanner/bin/sonar-scanner: line 66: exec: : not found 

답변

2

는,이 블록

if [ -n "$JAVA_HOME" ] 
then 
    java_cmd="$JAVA_HOME/bin/java" 
else 
    java_cmd="$(which java)" 
fi 

그리고 내 JAVA_HOMEwhich라는 스크립트를 해제했다 및 명령을 내 용기 내부에 설치되지 않았 음을 주어있다.

해결 방법으로 env 변수 JAVA_HOME을 설정했습니다.

+0

이 답변은 제 답변보다 정확합니다. +1 – VonC

관련 문제