SonarQube jenkins要求登录和密码

时间:2018-06-01 15:15:30

标签: sonarqube sonarqube5.1

我试图通过jenkins管道来分析我的maven项目。

我已在Jenkins的全局设置中使用授权令牌和服务器URL配置了我的SonarQube服务器实例。

以下是我的jenkinsfile中的groovy脚本:

stage('SonarQube analysis') {
            tools {
                   jdk "jdk-8u152"
                }
            steps {
                withSonarQubeEnv('My Sonar') {
                    sh 'mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.2:sonar -Dsonar.login=XXXXXXXXX'
                }
            }
        }

当我使用jenkins构建项目时,我收到以下错误:

[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.2:sonar (default-cli) on project MyProject: Not authorized. Please check the properties sonar.login and sonar.password.

我认为这足以分析该项目。不确定我错过了什么!

1 个答案:

答案 0 :(得分:4)

好的,我在SonarQube 7.1上,我就是这样做的:

  1. 在SonarQube服务器上创建新用户。浏览管理 - >安全 - >用户 - >创建用户。添加登录名和名称并添加密码。
  2. enter image description here

    1. 现在使用用户名和密码以新创建的用户身份登录。点击右上角,然后点击"我的帐户" - >安全选项卡。输入令牌名称(例如" Jenkins-Token")并单击Generate token。保存此令牌。
    2. enter image description here

      1. 浏览您的SonarQube项目 - >管理 - >权限。
      2. 假设您的项目是私有的。搜索您添加的上述用户并添加正确的权限(请授予执行分析权限)。
      3. enter image description here

        1. 转到Jenkins实例。点击Manage Jenkins - >配置系统。向下滚动到SonarQube服务器部分,添加新服务器或编辑现有服务器以将生成的令牌添加到"服务器身份验证令牌"领域。 enter image description here

        2. 在管道脚本中调用您在上一步中添加的特定声纳服务器实例,并在命令行上传递右侧参数。我没有在命令行上传递身份验证令牌,因为它已在sonarqube服务器详细信息中配置 enter image description here