【问题标题】:CloudBuild --cache-from for dependencies of CloudFunctionsCloud Build --cache-from 用于 Cloud Functions 的依赖项
【发布时间】:2021-10-25 18:20:18
【问题描述】:

几个云功能使用相同的要求:一些库和 localpackage 中的实用程序模块。所有这些功能都由 CloudBuild 构建和部署。

有没有办法使用 CloudBuild 的“--cache-from”功能为所有这些云功能使用相同的基础?

以下是 yaml 文件中构建和部署云功能的步骤:

steps:
  # create gcf source directory
- name: 'bash'
  args:
    - '-c'
    - |
      echo 'Creating gcf_source directory for ${_GCF_NAME}'

      mkdir _gcf_source
      cp -r cloudfuncs/${_GCF_NAME}/. _gcf_source
      rm -f _gcf_source/readme.md
      mkdir _gcf_source/localpackage
      touch _gcf_source/localpackage/__init__.py
      cp cloudfuncs/localpackage/gcf_utils.py _gcf_source/localpackage

      echo "" >> _gcf_source/requirements.txt
      cat cloudfuncs/localpackage/requirements.txt >> _gcf_source/requirements.txt

- name: 'gcr.io/cloud-builders/gcloud'
  args:
  - functions
  - deploy
  - ${_GCF_NAME}

【问题讨论】:

  • 这个问题似乎不完整。请检查内容。
  • 请详细说明一下。我可能会参与以了解缺少的内容。 :)

标签: google-cloud-functions google-cloud-build


【解决方案1】:

Cloud Build 是无服务器的,您无法将数据从一次执行保存到另一次执行。

但是,您有 2 个解决方案

  • 使用您的 localpackage 构建一个容器,并在后续部署中将其用作该步骤的容器。
  • 将文件存储在 Google Cloud Storage 中并将它们加载到您的 Cloud Build 工作区中,作为部署的第一步。 artifact 功能可以帮助您完成这项任务(保存文件)。

【讨论】:

  • 是的,我是这么认为的,但我不知道该怎么做。是否有任何您可以分享的 yaml 文件示例或任何文章,其中展示了如何首先构建容器然后将其用作基础?谢谢!
猜你喜欢
  • 2019-04-07
  • 2018-03-15
  • 2019-02-13
  • 1970-01-01
  • 2020-12-05
  • 1970-01-01
  • 1970-01-01
  • 2019-12-17
  • 2021-07-17
相关资源
最近更新 更多