appengine cloudbuild.yaml 是否需要自定义运行时?
does appengine cloudbuild.yaml requires a custom runtime?
使用以下输出构建错误(使用 Rails 应用程序)
ERROR: (gcloud.app.deploy) There is a cloudbuild.yaml in the current directory, and the runtime field in /workspace/app.yaml is currently set to [runtime: ruby]. To use your cloudbuild.yaml to build a custom runtime, set the runtime field to [runtime: custom]. To continue using the [ruby] runtime, please remove the cloudbuild.yaml from this directory.
Cloudbuild.yaml 应该可以与 App Engine Flexible 一起使用,而无需使用自定义运行时。如错误消息中所述,如果在非自定义运行时中部署,则不能在同一目录中包含 app.yaml 和 cloudbuild.yaml,要补救这种情况,请执行以下步骤:
将 app.yaml 和其他 ruby 文件移动到一个子目录中(使用您原来的 app.yaml,无需使用自定义运行时)
在您的 cloudbuild.yaml 步骤下,通过添加指定 app.yaml 路径的第三个参数来修改应用程序部署的参数。
下面是一个例子:
==================来自:
steps:
- name: 'gcr.io/cloud-builders/gcloud'
args: ['app', 'deploy']
timeout: '1600s'
===================收件人:
steps:
- name: 'gcr.io/cloud-builders/gcloud'
args: ['app', 'deploy', '[SUBDIRECTORY/app.yaml]']
timeout: '1600s'
处理此问题的一种方法是将 cloudbuild.yaml
文件的名称更改为 cloud_build.yaml
(您也可以只移动文件),然后转到 Cloud Build 中的触发器:
并将其从 Autodetected
更改为手动选择 Cloud Build configuration file
:
查看此Github issue了解更多信息
使用以下输出构建错误(使用 Rails 应用程序)
ERROR: (gcloud.app.deploy) There is a cloudbuild.yaml in the current directory, and the runtime field in /workspace/app.yaml is currently set to [runtime: ruby]. To use your cloudbuild.yaml to build a custom runtime, set the runtime field to [runtime: custom]. To continue using the [ruby] runtime, please remove the cloudbuild.yaml from this directory.
Cloudbuild.yaml 应该可以与 App Engine Flexible 一起使用,而无需使用自定义运行时。如错误消息中所述,如果在非自定义运行时中部署,则不能在同一目录中包含 app.yaml 和 cloudbuild.yaml,要补救这种情况,请执行以下步骤:
将 app.yaml 和其他 ruby 文件移动到一个子目录中(使用您原来的 app.yaml,无需使用自定义运行时)
在您的 cloudbuild.yaml 步骤下,通过添加指定 app.yaml 路径的第三个参数来修改应用程序部署的参数。
下面是一个例子:
==================来自:
steps:
- name: 'gcr.io/cloud-builders/gcloud'
args: ['app', 'deploy']
timeout: '1600s'
===================收件人:
steps:
- name: 'gcr.io/cloud-builders/gcloud'
args: ['app', 'deploy', '[SUBDIRECTORY/app.yaml]']
timeout: '1600s'
处理此问题的一种方法是将 cloudbuild.yaml
文件的名称更改为 cloud_build.yaml
(您也可以只移动文件),然后转到 Cloud Build 中的触发器:
并将其从 Autodetected
更改为手动选择 Cloud Build configuration file
:
查看此Github issue了解更多信息