bazel远程回购的本地缓存 我们使用CODESHIP来运行C++项目的CI。我们的CI构建包括一个Docker映像,我们在其中安装系统依赖项,然后是一个构建测试的bazel构建步骤

bazel远程回购的本地缓存 我们使用CODESHIP来运行C++项目的CI。我们的CI构建包括一个Docker映像,我们在其中安装系统依赖项,然后是一个构建测试的bazel构建步骤,bazel,Bazel,我们的bazel工作区文件包含各种外部依赖项,例如gtest: new_http_archive( name = "gtest", url = "https://github.com/google/googletest/archive/release-1.7.0.zip", build_file = "thirdparty/gtest.BUILD", strip_prefix = "googletest-release-1.7.0", sha256 = "b58cb7547a

我们的bazel工作区文件包含各种外部依赖项,例如gtest:

new_http_archive(
  name = "gtest",
  url = "https://github.com/google/googletest/archive/release-1.7.0.zip",
  build_file = "thirdparty/gtest.BUILD",
  strip_prefix = "googletest-release-1.7.0",
  sha256 = "b58cb7547a28b2c718d1e38aee18a3659c9e3ff52440297e965f5edffe34b6d0",
)

在CI构建期间,下载这些文件需要花费大量时间。是否可以将Bazel设置为对这些归档使用本地缓存?

我认为Bazel已经在输出库中缓存了外部存储库(如果不是,那么应该是一个值得报告的bug)。您是否可以选择在docker容器中保持缓存热状态?例如,通过获取代码并运行
bazel fetch/…
或某个更具体的目标?注意:您还可以通过使用
bazel--output_base=/foo build/…
指定bazel的output_base在哪里。你可能会发现相关的

[编辑:我们的真棒来拯救这一天]:

您可以使用
--experimental\u repository\u cache=/path/to/some/dir

这有用吗