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

kerrycode 阅读:59 2025-06-02 22:19:02 评论:0

我正在尝试通过 jenkins 管道分析我的 maven 项目。

我已经使用授权 token 和服务器 URL 在 Jenkins 的全局设置中配置了我的 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. 

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

请您参考如下方法:

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

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


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


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


  • 转到您的 Jenkins 实例。单击管理 Jenkins -> 配置系统。向下滚动到您的 SonarQube 服务器部分,添加新服务器或编辑现有服务器以将生成的 token 添加到“服务器身份验证 token ”字段。
  • 在管道脚本中调用您在上一步中添加的特定 sonarqube 服务器实例,并在命令行上传递正确的参数。我没有在命令行上传递身份验证 token ,因为它已经在 sonarqube 服务器详细信息中配置

  • 标签:Jenkins
    声明

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    关注我们

    一个IT知识分享的公众号