【发布时间】:2023-02-26 05:03:05
【问题描述】:
GCP Cloud Build can use cached image 以加速构建。
我目前正在使用 gcloud run deploy zero2prod --source=. 部署到 Cloud Run 服务,并注意到 Cloud Build 底层不使用缓存。让它使用缓存图像的理想方法是什么?
【问题讨论】:
标签: google-cloud-run google-cloud-build
GCP Cloud Build can use cached image 以加速构建。
我目前正在使用 gcloud run deploy zero2prod --source=. 部署到 Cloud Run 服务,并注意到 Cloud Build 底层不使用缓存。让它使用缓存图像的理想方法是什么?
【问题讨论】:
标签: google-cloud-run google-cloud-build
通常,它应该有效。如果您将 --cache-from 标志与 gcloud builds submit 命令一起使用,Cloud Build 将尝试使用缓存的 Docker 层来加速构建过程。
--cache-from 标志指定一个或多个 Docker 映像用作缓存层的来源。如果您指定的图像与您正在构建的图像具有相同的层,Cloud Build 将使用这些层而不是从头开始重建它们。
例如 :
gcloud builds submit --tag gcr.io/<PROJECT-ID>/<IMAGE-NAME> --cache-from gcr.io/<PROJECT-ID>/<IMAGE-NAME> .
这会告诉 Cloud Build 使用带有指定标签的 Docker 镜像作为构建的缓存源。这第一次您运行此命令,将不会有任何缓存层,因此构建将花费更长的时间。但是,后续构建会更快,因为它们可以重用以前构建的缓存层。
此外,要使 Cloud Build 在部署到 Cloud Run 时使用缓存的图像来加快构建速度,您可以启用 Cloud Build 的内置缓存功能。
为此,您可以将 --disk-size 和 --machine-type 标志添加到您的 gcloud 命令,为您的构建指定所需的磁盘大小和机器类型。例如:
gcloud builds submit --tag gcr.io/<PROJECT-ID>/<IMAGE-NAME> --disk-size=10GB --machine-type=e2-medium .
--disk-size标志设置构建磁盘的大小以启用缓存,而--machine-type标志设置构建的机器类型,这会影响构建速度和成本。您可以根据需要调整这些值,以针对您的特定用例优化构建时间和成本。
【讨论】: