我有一个使用 MSBuild 构建解决方案的 Jenkins 服务器。未启用浅克隆(在高级克隆行为上),所以我认为它正在获取所有最后的提交。我正在使用 SonarQube 进行分析。我设置在构建之前运行开始分析,在构建完成后运行结束分析。SonarQube 分析成功完成,但我收到警告:
在分析过程中检测到浅克隆。某些文件会丢失 SCM 信息。这将影响问题的自动分配等功能。请配置您的构建以禁用浅层克隆。
有人知道我对 SonarQube 缺少什么可以正常工作吗?
我有一个使用 MSBuild 构建解决方案的 Jenkins 服务器。未启用浅克隆(在高级克隆行为上),所以我认为它正在获取所有最后的提交。我正在使用 SonarQube 进行分析。我设置在构建之前运行开始分析,在构建完成后运行结束分析。SonarQube 分析成功完成,但我收到警告:
在分析过程中检测到浅克隆。某些文件会丢失 SCM 信息。这将影响问题的自动分配等功能。请配置您的构建以禁用浅层克隆。
有人知道我对 SonarQube 缺少什么可以正常工作吗?
对于与 sonarcloud 集成的 github 存储库之一,我在 sonarcloud 中收到了相同的警告。
因此,如果有人在 github 操作工作流中寻找禁用浅克隆的选项,那么只需编辑yml
文件并使用fetch-depth: 0
带有actions/checkout@v2
step 的选项来禁用浅克隆。
完整的例子在下面提到
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
有关更多详细信息,请访问 - https://github.com/actions/checkout#fetch-all-history-for-all-tags-and-branches
如文档中所述:https ://docs.travis-ci.com/user/customizing-the-build#sts=Git%20Clone%20Depth%20#
只需禁用git fetch 深度限制,.travis.yml
如下所示:
git:
depth: false
否则你是 git 克隆两次。
我已经修好了!当我在 Jenkins 上禁用 Shallow Clone 时,它仍然缺少过去的提交,所以我不得不在存储库文件夹中的 GIT bash 上运行一些命令:
git fetch --depth=1000000
(除非你有超过 100 万次提交)
然后确认我已经移除了浅层:
git fetch --unshallow
等待下一次构建和分析后,现在警告消失了,我可以看到作者了!