我有一个Google App Engine Flex项目,其中包含以下文件:
app.yaml
-定义App Engine Flex环境Dockerfile
-基于带有某些附加功能的Google App Engine容器cloudbuild.yaml
cloudbuild.yaml 内容:
steps:
- name: 'gcr.io/cloud-builders/docker'
args: ['build', '--tag=gcr.io/$PROJECT_ID/<projectname>', '.']
- name: 'gcr.io/cloud-builders/gcloud'
args: ['app', 'deploy']
timeout: '1600s'
images: ['gcr.io/$PROJECT_ID/<projectname>']
我在app deploy
命令中遇到以下错误:
自定义运行时必须在源目录中完全具有[Dockerfile]和[cloudbuild.yaml]中的一个
在没有cloudbuild.yaml
的情况下,它不知道尝试部署应用程序,在没有Dockerfile
的情况下,它不知道其中包含什么,因此,我如何仅使用以下一项来指定相同的工作流程?这些?
答案 0 :(得分:3)
我在使用自定义docker文件的Flex应用程序引擎上的Django项目上遇到了同样的问题。我将所有项目文件(可能的build.yaml除外)移到了一个子文件夹中,并在cloudbuild.yaml中将子文件夹指定为
steps:
- name: "gcr.io/cloud-builders/gcloud"
args: ["app", "deploy", "<subfolder>/app.yaml"]
timeout: "1600s"
对我有用。
(另请参见does appengine cloudbuild.yaml requires a custom runtime?)
答案 1 :(得分:0)
我的方法是相反的。将cloudbuild配置放在子文件夹中,然后使用--config="<folder>