6

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

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

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

  • 有没有办法在 docker 镜像上挂载一个存储桶作为文件系统?
  • 我可以挂载Google Persistent Disk吗?
4

1 回答 1

6

您不能将存储桶挂载到构建中,但您可以在.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']

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

于 2019-04-22T20:22:08.740 回答