Добавить переменную среды в файл app.yaml во время сборки Google
Я использую Google Cloud Build с cloudbuild.yaml
чтобы скачать app.yaml
файл, который включает переменные среды для моего Python
на основе приложения. app.yaml
Версия, используемая для первоначального развертывания, не содержит переменных среды для защиты безопасности.
Тем не менее, кажется, что это не работает, и переменные среды не обнаруживаются - как app.yaml
не кажется перезаписанным.
Следующее мое cloudbuild.yaml
конфигурация:
steps:
- name: gcr.io/cloud-builders/gsutil
args:
[
"cp",
"gs://<path to bucket>/app.yaml",
"app.yaml",
]
Я понимаю точку входа для приложения на App Engine
через app.yaml
но я думал, что если cloudBuild.yaml
включен, это будет называться сначала, а затем app.yaml
,
Если это не правильно, как еще я могу добавить переменные окружения в мой файл app.yaml?
Спасибо!
1 ответ
Когда ты бежишь gcloud app deploy
процесс развертывания не займет cloudbuild.yaml
файл в учетную запись и будет развертывать ваше приложение вместе с вашим населением app.yaml
файл.
Чтобы выполнить пользовательский шаг сборки, вам нужно создать файл cloudbuild.yaml, как вы это сделали, определить свой пользовательский шаг сборки, а затем добавить шаг сборки для запуска команды deploy. Это было бы что-то вроде этого:
steps:
- name: gcr.io/cloud-builders/gsutil
args:
[
"cp",
"gs://<path to bucket>/app.yaml",
"app.yaml",
]
- name: 'gcr.io/cloud-builders/gcloud'
args: ['app', 'deploy']
Затем вы запустите сборку, выполнив следующую команду (в том же каталоге, где вы бы запустили gcloud app deploy
один):
gcloud builds submit --config cloudbuild.yaml .
Это будет:
- Загрузить текущий каталог в экземпляр Cloud Build
- выполните команду gsutil из этого каталога на экземпляре CB, чтобы получить
app.yaml
файл, заполненный переменными среды - разверните свой код в App Engine из экземпляра Cloud Build