Gitlab流水线作业令牌失败。

3
我有Gitlab Community,正在尝试将其与SonarQube集成。 Sonar托管在Azure VM Ubuntu中的Docker容器中。问题是我真的不知道如何编写 gitlab-ci.yml 文件。 我已经尝试使用运行在Windows机器上的本地Sonar,但仍然无法解决问题。这是我的当前 gitlab-ci.yml 文件。
当我将Sonar主机更改为我的当前主机时,我不确定需要在Sonar上输入什么内容。 登录会抛出错误:

SonarScanner for MSBuild 5.0.4
使用MSBuild Scanner的.NET Framework版本
预处理开始。
准备工作目录...
18:35:07.168 更新构建集成目标...
18:35:07.394 您提供的令牌没有足够的权限检查许可证。

sonar-check:
  image:
    name: sonarsource/sonar-scanner-cli:latest
    entrypoint: [""]
  cache:
    key: "${CI_JOB_NAME}"
    paths:
      - .sonar/cache
  dependencies:
    - build
  script:
    - choco install sonarqube-scanner.portable
    - SonarScanner.MSBuild.exe begin /k:"somefile" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="8f6658e7684de225a4f45c7cf3466d462a95c1c7"   
    - nuget restore -ConfigFile .\nuget.config
    - MsBuild.exe ./Process /t:Rebuild
    - SonarScanner.MSBuild.exe end /d:sonar.login="8f6658e7684de225a4f45c7cf3466d462a95c1c7"
  only:
    - merge_requests
    - master
    - develop
    - GitLabQualityTool
4个回答

6

也许你的SonarQube扫描器已经过时了

我遇到了同样的问题错误消息

我通过以下命令解决了这个问题 dotnet tool update --global dotnet-sonarscanner

enter image description here

然后它就成功运行了。

enter image description here


4

如果你也遇到了与正确设置相关的问题而突然停止工作,我刚刚经历了这个问题。我不得不生成一个新的授权令牌,这使一切正常工作。尽管我没有为什么会发生这种情况提供解释,但这是一个可以采取的故障排除步骤。


1
感谢抽出时间发布这个! - Karim Tarek

2

我找到了解决方案。您需要进入Sonar MyAccount->Security->Generate Token。 将此令牌添加到这里:

- SonarScanner.MSBuild.exe begin /k:"somefile" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="8f6658e7684de225a4f45c7cf3466d462a95c1c7" 
- SonarScanner.MSBuild.exe end /d:sonar.login="8f6658e7684de225a4f45c7cf3466d462a95c1c7"

以及你的声纳URL。


0
确保在创建Sonar扫描的Ci文件时,要检查使用的镜像版本。因为对于Sonar 10.x版本,我们使用sonar.token参数而不是sonar.login。所以如果你的token正确,你将遇到问题,因为如果使用旧的镜像与Sonar 10.x版本,你将遇到类似令牌问题的问题。在我的情况下,我已经更新了Sonar 10.x,并且我正在使用自定义镜像,该镜像之前被Sonar 9.x使用。请注意这些要点,以避免此类愚蠢的问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接