云构建通过将 eu.artifacts.<project>.appspot.com 存储桶更改为单区域来避免计费
Cloud build avoid billing by changing eu.artifacts.<project>.appspot.com bucket to single-region
为 python 3.7.
使用 App Engine 标准环境
当运行时app deploy
命令是容器镜像上传到google存储桶eu.artifacts.<project>.appspot.com
.
此消息在 app deploy
期间打印
Beginning deployment of service [default]...
#============================================================#
#= Uploading 827 files to Google Cloud Storage =#
#============================================================#
File upload done.
Updating service [default]...
文件上传到多区域 (eu),如何更改为上传到单个区域?
猜测这是一个应该添加到存储库的配置文件,以指示应用引擎、云构建或云存储将文件上传到单个区域。
是否需要 eu.artifacts.<project>.appspot.com
存储桶,或者是否可以使用 .gcloudignore
文件忽略所有文件?
此问题与此问题类似 ,但适用于应用引擎。
我正在使用服务帐户触发云构建。
尝试实施上述 link 中解决方案的更改,但无法摆脱多区域存储桶。
substitutions:
_BUCKET: unused
steps:
- name: 'gcr.io/cloud-builders/gcloud'
args: ['app', 'deploy', '--promote', '--stop-previous-version']
artifacts:
objects:
location: 'gs://${_BUCKET}/artifacts'
paths: ['*']
命令gcloud builds submit --gcs-log-dir="gs://$BUCKET/logs" --gcs-source-staging-dir="gs://$BUCKET/source" --substitutions=_BUCKET="$BUCKET"
经过更多调查,我想提一下
当您部署新容器时(当您部署 App Engine 应用程序)-> 当您使用新容器将图像推送到注册表时,存储桶的种类由“容器注册表”产品创建hostname, Container Registry 在指定的多区域location.This 中创建一个存储桶,bucket 是registry 的底层存储。在一个项目中,具有相同主机名的所有注册表共享一个存储 bucket.
基于this,默认情况下不可访问,它本身包含部署新容器时写入的容器映像。不建议修改它,因为工件存储桶旨在包含部署图像,这可能会影响您的应用程序。
最后,我发现的一件奇怪的事情是,当您创建一个默认存储桶(如上述存储桶的情况)时,您还会得到一个除暂存之外同名的暂存存储桶。您可以将此暂存存储桶用于暂存和测试目的的临时文件;它也有 5 GB 的限制,但它会在每周自动清空 basis
我在部署后删除了整个存储桶,这会阻止计费
gsutil -m rm -r gs://us.artifacts.<project-id>.appspot.com
-m
- multi-threading/multi-processing(而不是删除 object-by-object 此参数将同时删除对象)
rm
- 删除对象的命令
-r
- 递归
为 python 3.7.
使用 App Engine 标准环境当运行时app deploy
命令是容器镜像上传到google存储桶eu.artifacts.<project>.appspot.com
.
此消息在 app deploy
Beginning deployment of service [default]...
#============================================================#
#= Uploading 827 files to Google Cloud Storage =#
#============================================================#
File upload done.
Updating service [default]...
文件上传到多区域 (eu),如何更改为上传到单个区域?
猜测这是一个应该添加到存储库的配置文件,以指示应用引擎、云构建或云存储将文件上传到单个区域。
是否需要 eu.artifacts.<project>.appspot.com
存储桶,或者是否可以使用 .gcloudignore
文件忽略所有文件?
此问题与此问题类似
我正在使用服务帐户触发云构建。
尝试实施上述 link 中解决方案的更改,但无法摆脱多区域存储桶。
substitutions:
_BUCKET: unused
steps:
- name: 'gcr.io/cloud-builders/gcloud'
args: ['app', 'deploy', '--promote', '--stop-previous-version']
artifacts:
objects:
location: 'gs://${_BUCKET}/artifacts'
paths: ['*']
命令gcloud builds submit --gcs-log-dir="gs://$BUCKET/logs" --gcs-source-staging-dir="gs://$BUCKET/source" --substitutions=_BUCKET="$BUCKET"
经过更多调查,我想提一下 当您部署新容器时(当您部署 App Engine 应用程序)-> 当您使用新容器将图像推送到注册表时,存储桶的种类由“容器注册表”产品创建hostname, Container Registry 在指定的多区域location.This 中创建一个存储桶,bucket 是registry 的底层存储。在一个项目中,具有相同主机名的所有注册表共享一个存储 bucket.
基于this,默认情况下不可访问,它本身包含部署新容器时写入的容器映像。不建议修改它,因为工件存储桶旨在包含部署图像,这可能会影响您的应用程序。
最后,我发现的一件奇怪的事情是,当您创建一个默认存储桶(如上述存储桶的情况)时,您还会得到一个除暂存之外同名的暂存存储桶。您可以将此暂存存储桶用于暂存和测试目的的临时文件;它也有 5 GB 的限制,但它会在每周自动清空 basis
我在部署后删除了整个存储桶,这会阻止计费
gsutil -m rm -r gs://us.artifacts.<project-id>.appspot.com
-m
- multi-threading/multi-processing(而不是删除 object-by-object 此参数将同时删除对象)
rm
- 删除对象的命令
-r
- 递归