我有一个Jenkins管道,定期从gitlab中提取并构建不同的repos,构建一个多组件平台,运行并测试它。现在我在同一台机器上安装了一个sonarqube服务器(Ubuntu 18.04),我想将我的Jenkins连接到sonarqube。
在Jenkins:
我将sonarqube扫描仪设置为Global Tool Configuration
,如下所示:
我在sonarqube和Jenkins中生成了一个token,在configuration
上,我设置了如下服务器,但我找不到任何地方插入token(我认为这是问题所在):
在Jenkins管道中,我是这样为sonarqube添加一个阶段的:
stage('SonarQube analysis') {
steps{
script {
scannerHome = tool 'SonarQube';
}
withSonarQubeEnv('SonarQube') {
sh "${scannerHome}/bin/sonar-scanner"
}
}
}
但这失败与下面的日志,
错误:脚本返回退出代码127
[Pipeline] { (SonarQube analysis)
[Pipeline] script
[Pipeline] {
[Pipeline] tool
Invalid tool ID
[Pipeline] }
[Pipeline] // script
[Pipeline] withSonarQubeEnv
Injecting SonarQube environment variables using the configuration: SonarQube
[Pipeline] {
[Pipeline] sh
+ /var/lib/jenkins/tools/hudson.plugins.sonar.SonarRunnerInstallation/SonarQube/bin/sonar-scanner
/var/lib/jenkins/workspace/wws-full-test@tmp/durable-2c68acd1/script.sh: 1: /var/lib/jenkins/workspace/wws-full-test@tmp/durable-2c68acd1/script.sh: /var/lib/jenkins/tools/hudson.plugins.sonar.SonarRunnerInstallation/SonarQube/bin/sonar-scanner: not found
[Pipeline] }
WARN: Unable to locate 'report-task.txt' in the workspace. Did the SonarScanner succeeded?
[Pipeline] // withSonarQubeEnv
[Pipeline] }
[Pipeline] // stage
当我检查我的jenkinstools上的磁盘声纳插件是不存在:
$ ls /var/lib/jenkins/tools/
jenkins.plugins.nodejs.tools.NodeJSInstallation
有人能告诉我如何将Jenkins连接到Sonarqube吗?
1条答案
按热度按时间hxzsmxv21#
创建并添加令牌,以便能够连接到SonarQube。
您已经在SonarQube中创建了项目并将其用作参数: