英文:
Unauthorized: Access is denied due to invalid credentials. Please check the authentication parameters in SonarQube SonarScanner.MsBuild.exe
问题
我正在尝试设置一个测试环境来实验 SonarQube。到目前为止,我已经执行了以下步骤:
-
下载并安装了 SonarQube。我可以运行它,并导航至 http://localhost:9000
-
在 Azure DevOps 中为一个仓库创建了一个新项目。Sonar 能够连接到它,读取仓库等。
-
下载了最新版本的 SonarScanner.MsBuild 运行器。解压并将路径添加到 %PATH% 环境变量中。
-
在 Sonar 中,我创建了一个新的用户令牌,并将其放入了运行器文件夹中的
SonarQube.Analysis.xml
:<SonarQubeAnalysisProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sonarsource.com/msbuild/integration/2015/1"> <Property Name="sonar.host.url">http://localhost:9000</Property> <Property Name="sonar.login">admin</Property> <Property Name="sonar.password">sonar</Property> <Property Name="sonar.token">squ_7b.......601</Property> </SonarQubeAnalysisProperties>
-
回到 Sonar,我创建了一个新的本地运行。
-
选择了
生成项目令牌
选项,然后点击下一步。 -
然后 Sonar 要求我运行以下命令:
SonarScanner.MSBuild.exe begin /k:"TEST_PROJECT-local" /d:sonar.host.url="http://localhost:9000" /d:sonar.token="sqp_ec60....a7e1"
我可以看到 Sonar 创建了项目令牌。但当我运行它时,我得到了以下错误:
SonarScanner for MSBuild 5.13
使用 .NET Framework 版本的 Scanner for MSBuild
预处理已启动。
准备工作目录...
09:15:30.629 更新构建集成目标...
09:15:30.797 未经授权: 由于无效凭据而拒绝访问。请检查身份验证参数。
09:15:30.8 预处理失败。退出代码: 1
我漏掉了什么吗?
英文:
I'm trying to setup a test environment to experiment with SonarQube. This are the steps I took so far:
-
Downloaded and installed SonarQube. I am able to run it, navigate to http://localhost:9000
-
Created a new project for a repo in Azure DevOps. Sonar is able to connect to it, read the repositories, etc.
-
Donwloaded the latest version of SonarScanner.MsBuild runner. Unzipped and put the path into the %PATH% environment variable
-
In sonar I created a new User Token and put in the
SonarQube.Analysis.xml
from the runner folder:<SonarQubeAnalysisProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sonarsource.com/msbuild/integration/2015/1">
<Property Name="sonar.host.url">http://localhost:9000</Property> <Property Name="sonar.login">admin</Property> <Property Name="sonar.password">sonar</Property> <Property Name="sonar.token">squ_7b.......601</Property>
</SonarQubeAnalysisProperties>
-
Back to Sonar, I created a new local run.
-
Selected the option to
Generate a project token
and clicked Next -
Then Sonar is asking me to run the following command:
SonarScanner.MSBuild.exe begin /k:"TEST_PROJECT-local" /d:sonar.host.url="http://localhost:9000" /d:sonar.token="sqp_ec60....a7e1"
I can see the project token was create by Sonar. But when I run it, I get the following error:
SonarScanner for MSBuild 5.13
Using the .NET Framework version of the Scanner for MSBuild
Pre-processing started.
Preparing working directories...
09:15:30.629 Updating build integration targets...
09:15:30.797 Unauthorized: Access is denied due to invalid credentials. Please check the authentication parameters.
09:15:30.8 Pre-processing failed. Exit code: 1
What am I missing?
答案1
得分: 1
尝试删除这两行:
<Property Name="sonar.login">admin</Property>
<Property Name="sonar.password">sonar</Property>
从你的 SonarQube.Analysis.xml
文件中。
我曾经遇到相同的问题,并通过这样做解决了它。我认为问题与扫描器在存在用户名和密码时尝试使用它们进行身份验证有关,但如果已列出令牌,你应该真的只需使用它进行身份验证。
英文:
Try deleting these 2 lines
<Property Name="sonar.login">admin</Property>
<Property Name="sonar.password">sonar</Property>
from your SonarQube.Analysis.xml
file.
I was having the same problem and was able to resolve it by doing that. I think the issue is related to the scanner attempting to use login and password when they are present, but if the token is listed you should really just use that to authenticate.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论