首页 > 解决方案 > 如何将持久存储连接到 Google Cloud Build?

问题描述

maven spring-boot在 appengine 上部署了一个项目,我正在使用 Google Cloud Build 使用以下构建器映像构建和部署:https ://github.com/strudeau/mvn-gcloud-builder

执行构建时,大部分时间都花在从 maven 下载插件和依赖项上。我希望能够将持久卷挂载到这个 Docker 映像,以便能够保留一个持久.M2目录,我的插件和依赖项将被存储在其中,以避免每次构建时都下载它们。

Google Cloud Filestore如果不是因为您必须提供 1TB 或更多的数据,这对于小型非生产利润项目来说变得非常昂贵,这可能是理想的。

标签: mavendockergoogle-cloud-storagegoogle-cloud-build

解决方案


您不能将存储桶挂载到构建中,但您可以在.M2构建结束时将目录复制到存储桶中,然后在后续构建开始时将其恢复。

我直接从文档中提取了这个例子,以防它消失。

steps:
- name: gcr.io/cloud-builders/gsutil
  args: ['cp', 'gs://mybucket/results.zip', 'previous_results.zip']
# operations that use previous_results.zip and produce new_results.zip
- name: gcr.io/cloud-builders/gsutil
  args: ['cp', 'new_results.zip', 'gs://mybucket/results.zip']

将此策略与并发构建混合时要小心。


推荐阅读