Назад | Перейти на главную страницу

Автоматизируйте развертывание Google App Engine с помощью Google Cloud Build

У меня есть приложение Go, которому нужно GCC в процессе сборки. Среда выполнения GAE Go по умолчанию не поддерживает GCC, поэтому мне пришлось настроить app.yaml чтобы определить среду выполнения как настраиваемую, например:

runtime: custom
env: flex

network:
  session_affinity: true

manual_scaling:
  instances: 1

Кроме того, добавление файла докера, например:

FROM golang:latest
RUN mkdir /app
ADD . /app/
WORKDIR /app
RUN go build -o main .
CMD ["/app/main"]

Проблема в том, что я не могу автоматизировать развертывание из Cloud Build после триггера Push, потому что развертывание GAE не допускает наличия Dockerfile и cloudbuild.yaml определены вместе. В то же время, если бы я добавил cloudbuild.yaml лайк:

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

Я буду вынужден удалить Dockerfile! Есть ли способ автоматизировать сборку и развертывание GAE с помощью настраиваемых сред выполнения?

Изучая описанную вами ситуацию, я мог найти соответствующие общедоступные темы на GitHub и Переполнение стека.

Как вариант попробуйте переместить cloudbuild.yaml файл в подпапку, чтобы устранить проблему. Не забудьте обновить триггер Cloud Build, чтобы он указывал на перемещенный файл.

Сообщите мне, если это поможет!