SonarQube jenkins要求输入登录名和密码

sau*_*eer 2 sonarqube sonarqube5.1

我正在尝试通过詹金斯管道分析我的Maven项目。

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

以下是我的jenkinsfile中的常规脚本:

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'
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

当我使用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.
Run Code Online (Sandbox Code Playgroud)

我认为这足以分析该项目。不确定我想念的是什么!

Isa*_*110 6

好的,我使用的是SonarQube 7.1,这就是我的操作方式:

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

在此处输入图片说明

  1. 现在,使用用户名和密码以新创建的用户身份登录。单击右上角,然后单击“我的帐户”->“安全”选项卡。输入令牌名称(例如“ Jenkins-Token”),然后单击“生成令牌”。保存此令牌。

在此处输入图片说明

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

在此处输入图片说明

  1. 转到您的Jenkins实例。单击管理詹金斯->配置系统。向下滚动到SonarQube服务器部分,添加新服务器或编辑现有服务器以将生成的令牌添加到“服务器身份验证令牌”字段。 在此处输入图片说明

  2. 在管道脚本中,调用您在上一步中添加的特定声纳服务器实例,并在命令行上传递正确的参数。我没有在命令行上通过身份验证令牌,因为它已在以下内容的sonarqube服务器详细信息中配置 在此处输入图片说明