如何将持久存储连接到 Google Cloud Build?

sim*_*mon 6 maven google-cloud-storage docker google-cloud-build

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吗?

rya*_*hos 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']
Run Code Online (Sandbox Code Playgroud)

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