如何解决Google Cloud Build - 多个环境
在我的应用中,我有以下内容:
- app.yaml
- cloudbuild.yaml
我第一次使用上面的来部署默认服务。
-
app.qa.yaml
-
cloudbuild_qa.yaml
-
app.staging.yaml
-
cloudbuild_staging.yaml
-
app.prod.yaml
-
cloudbuild_prod.yaml
它们都驻留在应用程序的根目录中。
比如cloudbuild_qa.yaml如下:
steps:
- name: node:14.0.0
entrypoint: npm
args: ['install']
- name: node:14.0.0
entrypoint: npm
args: ['run','prod']
- name: 'gcr.io/cloud-builders/gcloud'
args: ['beta','app','deploy','--project','$PROJECT_ID','-q','$_GAE_PROMOTE','--version','$_GAE_VERSION','--appyaml','app.qa.yaml']
timeout: '3600s'
Cloud Build 运行良好,但是,它不尊重 app.qa.yaml
,而是始终采用默认的 app.yaml
。
Services to deploy:
descriptor: [/workspace/app.yaml]
source: [/workspace]
target project: [test-project]
target service: [default]
target version: [qa]
target url: [https://test-project.uc.r.appspot.com]
知道发生了什么吗?在这种情况下,您知道如何使用正确的 app.yaml 文件吗?
解决方法
删除属性列表中的 '--appyaml',
。
但是,我不确定让部署文件与环境不同是一种好习惯。当您在某个地方更新某些内容时,您可能会忘记更新其他文件中的相同内容。
您是否想过替换文件中的占位符?还是在 Cloud Build 中使用替换变量?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。