You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Google Cloud Build中缓存Yarn与Pip依赖以缩短构建时长

在Google Cloud Build中缓存Yarn与Pip依赖以缩短构建时长

当然可以通过缓存Yarn和Pip的依赖包来大幅压缩你的构建时间!10分钟的构建时长确实有很大优化空间,我来帮你调整Cloud Build配置,把缓存逻辑加进去——这样只要你的依赖锁文件(yarn.lock/requirements.txt)没变化,构建时就不用重新下载所有依赖了。

核心优化思路

Cloud Build支持远程持久化缓存,可以把Yarn和Pip的依赖缓存存储在Google Cloud Storage中,跨构建节点复用。我们要做的就是:

  • 告诉Cloud Build要缓存哪些路径
  • 在构建步骤中让Yarn/Pip使用这些缓存路径

修改后的完整Cloud Build配置

cache:
  # 配置远程缓存,将依赖缓存存储到GCS(默认会创建专属存储桶)
  storage: GCS
  paths:
    - /builder/home/.cache/yarn
    - /builder/home/.cache/pip

steps:
  - name: "node:18.17.1"
    entrypoint: bash
    args:
      - "-c"
      - |
        # 用--frozen-lockfile确保yarn.lock不变时不会重新解析依赖
        yarn install --frozen-lockfile
        yarn run create-app-yaml
        yarn build
    env:
      - redacted
    # 挂载缓存卷到Yarn的默认缓存目录
    volumes:
      - name: yarn-cache
        path: /builder/home/.cache/yarn

  - name: "python:3.10.11"
    entrypoint: bash
    args:
      - "-c"
      - |
        # 先升级pip到最新版,避免兼容性问题
        python -m pip install --upgrade pip
        # 指定使用缓存目录来存储已下载的包
        python -m pip install --cache-dir /builder/home/.cache/pip -r requirements.txt
        python ./manage.py collectstatic --noinput
    # 挂载缓存卷到Pip的缓存目录
    volumes:
      - name: pip-cache
        path: /builder/home/.cache/pip

  - name: "gcr.io/cloud-builders/gcloud"
    args: ["app", "deploy"]
    timeout: "1600s"

关键优化点说明

  • Yarn缓存:
    • 使用--frozen-lockfile参数,强制Yarn严格按照yarn.lock的内容安装,避免不必要的依赖解析
    • 缓存Yarn的默认缓存目录/builder/home/.cache/yarn,这里存储了所有已下载的包压缩包,下次安装直接复用
  • Pip缓存:
    • 先升级Pip到最新版,确保缓存逻辑正常工作
    • 通过--cache-dir指定Pip的缓存路径,让已下载的包存在这里,下次安装无需重新下载
  • 远程缓存存储:
    • 配置cache.storage: GCS让Cloud Build把缓存内容存在GCS桶中,跨所有构建节点共享,即使更换构建机器也能用上缓存

额外小建议

  • 确保你的代码仓库里已经提交了yarn.lock和requirements.txt文件——这两个文件是缓存生效的关键,只有当它们变化时,Yarn/Pip才会重新下载新的依赖
  • 首次构建时缓存还未生成,时长不会有明显变化,但从第二次构建开始,依赖安装步骤的时间会大幅缩短(预计能把5+5分钟的依赖安装时间压缩到几十秒)

备注:内容来源于stack exchange,提问作者BlueBeret

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 08:18:00