SonarQube 带有浅克隆警告,即使在 Jenkins 构建中禁用浅层

Sam*_*tto 6 git jenkins shallow-clone sonarqube

我有一个使用 MSBuild 构建解决方案的 Jenkins 服务器。浅克隆未启用(在高级克隆行为上),所以我认为它正在获取所有最后的提交。我正在使用 SonarQube 进行分析。我设置在构建之前运行开始分析,并在构建完成后运行结束分析。SonarQube 分析成功完成,但我收到警告:

分析过程中检测到浅克隆。某些文件会丢失 SCM 信息。这将影响自动分配问题等功能。请配置您的构建以禁用浅克隆。

有人知道我缺少什么 SonarQube 工作正常吗?

Viv*_*vek 7

对于与声纳云集成的 github 存储库之一,我在声纳云中收到了相同的警告。

sonarcloud 浅克隆警告 github

因此,如果有人正在 github 操作工作流中寻找禁用浅克隆的选项,那么只需编辑yml文件并使用fetch-depth: 0带有actions/checkout@v2step的选项禁用浅克隆。

下面提到了完整的例子

    steps:
    - uses: actions/checkout@v2
      with:
        fetch-depth: 0
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请访问 - https://github.com/actions/checkout#fetch-all-history-for-all-tags-and-branches


Sam*_*tto 0

我已经修好了!当我在 Jenkins 上禁用浅克隆时,它仍然缺少过去的提交,因此我必须在存储库文件夹内的 GIT bash 上运行一些命令:

git fetch --depth=1000000
Run Code Online (Sandbox Code Playgroud)

(除非你有超过 100 万次提交)

然后确认我已经删除了浅层:

git fetch --unshallow
Run Code Online (Sandbox Code Playgroud)

等待下一次构建和分析后,现在警告已经消失,我可以看到作者了!

  • `致命:--unshallow 在完整的存储库上没有意义` (2认同)