【问题标题】:Local cache for bazel remote repos用于 bazel 远程存储库的本地缓存
【发布时间】:2017-05-18 17:17:16
【问题描述】:

我们正在使用 codeship 为 C++ 项目运行 CI。我们的 CI 构建包含一个 Docker 映像,我们在其中安装系统依赖项,然后是一个构建测试的 bazel build 步骤。

我们的 bazel WORKSPACE 文件引入了各种外部依赖项,例如 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


    【解决方案1】:

    我认为 Bazel 已经在 output_base 中缓存了外部存储库(如果不是,它应该是一个值得报告的错误)。您可以选择在 docker 容器中保持缓存热吗?例如。通过获取代码并运行bazel fetch //... 或更具体的目标?请注意,您还可以使用 bazel --output_base=/foo build //... 指定 bazel 的 output_base 在哪里。您可能会发现 this doc section 相关。

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

    你可以使用--experimental_repository_cache=/path/to/some/dir

    这有帮助吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-16
      • 1970-01-01
      • 2011-09-16
      • 2013-01-26
      • 2020-01-09
      • 1970-01-01
      相关资源
      最近更新 更多