У меня есть приложение 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, чтобы он указывал на перемещенный файл.
Сообщите мне, если это поможет!