问题描述
我在项目中设置了Google Cloud Build
和Kubernetes Engine
,我想将我的构建备份到另一个项目。我这样做是为了在发生灾难时进行备份,以便能够还原构建。
我注意到所有构建都保存在名为artifacts.{project-id}.appspot.com
我想到的选项
将此存储桶转移到另一个项目中。
这将物理备份这些构建。
问题
- 如果原始项目被删除,这是否足以恢复构建?我该怎么办?
- 我还可以通过哪些其他方式备份这些版本?
解决方法
云构建会创建一个Docker映像,并将其上传到Google Cointainer Registry。
回答1:
是的,如果将存储桶从项目A转移到项目B,并且删除了项目A,则项目B中的图像将不会受到影响。
回答2:
您可以将其从容器注册表位置复制到另一个位置,或将其下载到本地计算机。 要copy the docker image in container registry to another location,您可以从Cloud Shell中使用以下命令:
gcloud container images add-tag \
[SOURCE_HOSTNAME]/[SOURCE_PROJECT-ID]/[SOURCE_IMAGE]:[SOURCE_TAG] \
[DESTINATION_HOSTNAME]/[DESTINATION_PROJECT-ID]/[DESTINATION_IMAGE]:[DESTINATION_TAG]
主机名将是以下之一:grc.io
,eu.gcr.io
us.gcr.io
asia.gcr.io
项目ID是源项目ID和目标项目ID
图片和标签是您为图片选择的