SonarQube Scanner失败,并显示“不在git工作树内"错误 [英] SonarQube Scanner fails with “Not inside a git worktree” error

查看:203
本文介绍了SonarQube Scanner失败,并显示“不在git工作树内"错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Travis CI在 C#项目上运行SonarQube Scanner.我设法使扫描器能够工作一次,但是在下一次提交(提交已更新 README.md )时,没有明显的原因,扫描器失败了​​.

I'm using Travis CI to run SonarQube Scanner on a C# project. I've managed to get the scanner to work once but it failed with no obvious reason on the next commit (the commit updated README.md).

我试图清除构建缓存,但没有成功.我还读过其他编程语言(主要是Java)中的问题,但到目前为止还算不上运气.

I've tried to clear the build cache, with no success. I've also read about the issue in other programming languages (Java mainly) but no luck so far.

具体错误是:

不在Git工作树中:/home/travis/build/presque-fini

完整的错误日志如下:

34.72s$ mono ./scanner/SonarScanner.MSBuild.exe end -d:sonar.login="tkoen"
SonarScanner for MSBuild 4.9
Using the .NET Framework version of the Scanner for MSBuild
Post-processing started.
WARNING: The following projects do not have a valid ProjectGuid and were not built using a valid solution (.sln) thus will be skipped from analysis...
/home/travis/build/presque-fini/nez/Nez.Portable/Nez.csproj
WARNING: File '/usr/lib/mono/xbuild/MonoGame/v3.0/Assemblies/DesktopGL/x86/SDL2.dll' is not located under the root directory '/home/travis/build/presque-fini' and will not be analyzed.
WARNING: File '/usr/lib/mono/xbuild/MonoGame/v3.0/Assemblies/DesktopGL/x64/SDL2.dll' is not located under the root directory '/home/travis/build/presque-fini' and will not be analyzed.
WARNING: File '/usr/lib/mono/xbuild/MonoGame/v3.0/Assemblies/DesktopGL/x86/soft_oal.dll' is not located under the root directory '/home/travis/build/presque-fini' and will not be analyzed.
WARNING: File '/usr/lib/mono/xbuild/MonoGame/v3.0/Assemblies/DesktopGL/x64/soft_oal.dll' is not located under the root directory '/home/travis/build/presque-fini' and will not be analyzed.
WARNING: File '/usr/lib/mono/xbuild/MonoGame/v3.0/Assemblies/DesktopGL/x86/libSDL2-2.0.so.0' is not located under the root directory '/home/travis/build/presque-fini' and will not be analyzed.
WARNING: File '/usr/lib/mono/xbuild/MonoGame/v3.0/Assemblies/DesktopGL/x64/libSDL2-2.0.so.0' is not located under the root directory '/home/travis/build/presque-fini' and will not be analyzed.
WARNING: File '/usr/lib/mono/xbuild/MonoGame/v3.0/Assemblies/DesktopGL/x86/libopenal.so.1' is not located under the root directory '/home/travis/build/presque-fini' and will not be analyzed.
WARNING: File '/usr/lib/mono/xbuild/MonoGame/v3.0/Assemblies/DesktopGL/x64/libopenal.so.1' is not located under the root directory '/home/travis/build/presque-fini' and will not be analyzed.
WARNING: File '/usr/lib/mono/xbuild/MonoGame/v3.0/Assemblies/DesktopGL/libSDL2-2.0.0.dylib' is not located under the root directory '/home/travis/build/presque-fini' and will not be analyzed.
WARNING: File '/usr/lib/mono/xbuild/MonoGame/v3.0/Assemblies/DesktopGL/libopenal.1.dylib' is not located under the root directory '/home/travis/build/presque-fini' and will not be analyzed.
WARNING: File '/usr/lib/mono/xbuild/MonoGame/v3.0/Assemblies/DesktopGL/MonoGame.Framework.dll.config' is not located under the root directory '/home/travis/build/presque-fini' and will not be analyzed.
The SONAR_SCANNER_HOME environment variable is not required and will be ignored.
Calling the SonarQube Scanner...
INFO: Scanner configuration file: /home/travis/build/presque-fini/presque-game/scanner/sonar-scanner-4.3.0.2102/conf/sonar-scanner.properties
INFO: Project root configuration file: /home/travis/build/presque-fini/presque-game/.sonarqube/out/sonar-project.properties
INFO: SonarScanner 4.3.0.2102
INFO: Java 11.0.2 Oracle Corporation (64-bit)
INFO: Linux 4.15.0-1028-gcp amd64
INFO: User cache: /home/travis/.sonar/cache
INFO: Scanner configuration file: /home/travis/build/presque-fini/presque-game/scanner/sonar-scanner-4.3.0.2102/conf/sonar-scanner.properties
INFO: Project root configuration file: /home/travis/build/presque-fini/presque-game/.sonarqube/out/sonar-project.properties
INFO: Analyzing on SonarCloud
INFO: Default locale: "en_US", source code encoding: "UTF-8" (analysis is platform dependent)
INFO: Load global settings
INFO: Load global settings (done) | time=706ms
INFO: Server id: 1BD809FA-AWHW8ct9-T_TB3XqouNu
INFO: User cache: /home/travis/.sonar/cache
INFO: Load/download plugins
INFO: Load plugins index
INFO: Load plugins index (done) | time=165ms
INFO: Load/download plugins (done) | time=22322ms
INFO: Loaded core extensions: developer-scanner
INFO: Process project properties
INFO: Execute project builders
INFO: Execute project builders (done) | time=49ms
INFO: Project key: presque-fini_presque-game
INFO: Base dir: /home/travis/build/presque-fini
INFO: Working dir: /home/travis/build/presque-fini/presque-game/.sonarqube/out/.sonar
INFO: Load project settings for component key: 'presque-fini_presque-game'
INFO: Load project settings for component key: 'presque-fini_presque-game' (done) | time=227ms
INFO: Found an active CI vendor: 'TravisCI'
INFO: Load project branches
INFO: Load project branches (done) | time=136ms
INFO: Check ALM binding of project 'presque-fini_presque-game'
INFO: Detected project binding: BOUND
INFO: Check ALM binding of project 'presque-fini_presque-game' (done) | time=122ms
INFO: Load project pull requests
INFO: Load project pull requests (done) | time=141ms
INFO: Load branch configuration
INFO: Load branch configuration (done) | time=4ms
INFO: Load quality profiles
INFO: Load quality profiles (done) | time=156ms
INFO: Load active rules
INFO: Load active rules (done) | time=3676ms
INFO: Organization key: presque-fini
INFO: Indexing files...
INFO: Project configuration:
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 33.193s
INFO: Final Memory: 7M/27M
INFO: ------------------------------------------------------------------------
ERROR: Error during SonarScanner execution
ERROR: Not inside a Git work tree: /home/travis/build/presque-fini
ERROR: 
The SonarQube Scanner did not complete successfully
13:29:46.773  Post-processing failed. Exit code: 1
The command "mono ./scanner/SonarScanner.MSBuild.exe end -d:sonar.login="token"" exited with 1.

系统配置

  • CI:Travis(您可以在此处浏览完整版本: https://travis-ci.com/github/presque-fini/presque-game/builds/172666297 )
  • 操作系统:Ubuntu 16.04.6 LTS
  • Git 2.21.0
  • 使用的版本: sonar-scanner-msbuild-4.9.0.17385-net46
  • 扫描程序命令: mono ./scanner/SonarScanner.MSBuild.exe结束-d:sonar.login ="token"
  • 在Github上托管的项目( https://github.com/presque-fini/presque-游戏)
  • 推荐答案

    出了什么问题?

    该问题是由于以下事实引起的:Travis克隆您的项目时,会将其克隆到以回购名称(在您的情况下为 presque-game )命名的子目录中.这将为您提供以下结构:

    What's the problem?

    The problem is caused by the fact that when Travis clones your project, it clones it in a sub-directory named after the repo name (presque-game in your case). This will give you the following structure:

    organization-name/repo-name
    

    启动分析时,默认情况下它将在 organization-name 文件夹中启动,而不是在 repo-name 子文件夹中启动.因为 organization-name 不是git仓库,所以Sonarcloud失败.

    When you launch the analysis, it starts by default in the organization-name folder and not in the repo-name sub-folder. Because organization-name is not a git repo, Sonarcloud fails.

    要解决此问题,您需要设置分析属性 sonar.projectBaseDir :

    To resolve this problem, you need to set the analysis property sonar.projectBaseDir:

    -d:sonar.projectBaseDir="repo-name/"
    

    这将为您提供完整的命令(请确保路径是绝对的,但我想相对路径也可以使用):

    This will give you this full command (the path is absolute, just to be sure, but I guess a relative path will work too):

    mono ./scanner/SonarScanner.MSBuild.exe begin -k:"presque-fini_presque-game" -o:"presque-fini" -d:sonar.login="token" -d:sonar.projectBaseDir="/home/travis/build/presque-fini/presque-game/"
    


    参考文献:


    References:

    如果要分析的文件不在分析开始的目录中,请使用sonar.projectBaseDir属性将分析移至其他目录.

    If the files to be analyzed are not in the directory where the analysis starts from, use the sonar.projectBaseDir property to move analysis to a different directory.

  • SonarQube社区问题:
  • 这篇关于SonarQube Scanner失败,并显示“不在git工作树内"错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆