Развертывание в среде Google App Engine Flex из Google Cloud Build с использованием Dockerfile - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть проект 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>']

Это основано надокументы по адресу: https://cloud.google.com/cloud-build/docs/configuring-builds/build-test-deploy-artifacts#deploying_artifacts

Я получаю следующую ошибку в команде app deploy:

В пользовательской среде выполнения должен быть ровно один из [Dockerfile] и [cloudbuild.yaml] в исходном каталоге

Без cloudbuild.yaml он не знает, чтобы попытаться развернуть приложение, без Dockerfile он не знает, что в нем, так какЯ указываю тот же рабочий процесс только с одним из них?

Ответы [ 2 ]

0 голосов
/ 03 мая 2019

Мой подход был наоборот.Поместите конфигурацию cloudbuild в подпапку и используйте --config="<folder>

0 голосов
/ 27 января 2019

Я столкнулся с той же проблемой, работая над проектом Django на движке приложений Flex с настраиваемым файлом Docker.Я переместил все файлы проекта, кроме canbuild.yaml, в подпапку и в cloudbuild.yaml указал подпапку примерно так:

steps:
- name: "gcr.io/cloud-builders/gcloud"
  args: ["app", "deploy", "<subfolder>/app.yaml"]
timeout: "1600s"

Это сработало для меня.

(см. Также Требуется ли appengine cloudbuild.yaml пользовательская среда выполнения? )

...