我想从 Jenkins 管道运行 SonarQube Scanner,并且我遵循了文档。
关于该错误,似乎扫描仪存在,但未找到某些命令。我的 jenkins 实例在 Docker 中运行。
Jenkins 版本:2.46.1
SonarQube 扫描仪: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
最佳答案
在sonar-scanner
脚本中,有这个 block
if [ -n "$JAVA_HOME" ]
then
java_cmd="$JAVA_HOME/bin/java"
else
java_cmd="$(which java)"
fi
鉴于我的 JAVA_HOME
未设置,名为 which
的脚本和命令未安装在我的容器内。
作为解决方法,我设置了环境变量 JAVA_HOME
。
关于jenkins - 由于找不到命令,SonarQube 扫描仪在 Jenkins 管道中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43643803/