3

我们的代码托管在 GitHub 上。我们正在使用 Google Cloud Container Builder 来构建和打包我们的软件。为此,我们必须将我们的私有存储库连接到 Google Cloud Source Repository。不幸的是,镜像似乎是一个浅层克隆,因为我们的开发工具正在抱怨它。例如,SonarQube 无法为某些文件指责。

文档:

连接的存储库

如果您在 GitHub 或 Bitbucket 上已有存储库,则可以将其连接到您的 Cloud Source Repository。连接的存储库会自动与 Cloud Source Repository 同步。

有没有办法增加克隆的深度?或者如何制作一个完整的克隆?

4

2 回答 2

1

如此处所述

要在 Git 存储库上构建您的源代码,Cloud Build 会执行存储库的浅层克隆。这意味着只有启动构建的单个提交会在工作区中签出以进行构建。Cloud Build 不会检查任何其他分支或历史记录。这样做是为了提高效率,因此构建不必为了构建单个提交而等待获取整个存储库和历史记录。

如果你想在构建中包含更多你的 repo 的历史,在你的构建配置文件中添加一个构建步骤来“unshallow”克隆。例如

steps:
- name: gcr.io/cloud-builders/git
  args: ['fetch', '--unshallow']
...
于 2021-04-07T14:43:41.253 回答
1

Google Cloud Source Repository 仅支持完整克隆。您的存储库确实包含所有分支 ( refs/heads/*) 和标签 ( refs/tags/*) 的完整历史记录。

如果缺少提交,我的第一个猜测是提交只能在诸如refs/pulls/*CSR 不镜像的命名空间下找到。

于 2017-10-21T02:43:44.740 回答