Как передать переменные среды в app.yaml с помощью облачной сборки

Последний шаг моего CI/CD - это развертывание с использованием развертывания приложения gcloud, но я не могу зафиксировать app.yaml с моими переменными среды, так как же выполнить развертывание с использованием облачной сборки, передав переменные env, в app.yaml?

Вот мой cloudbuild.yaml

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

1 ответ

Решение

Одним из простых вариантов является перечисление переменных среды в файле (или даже в файле app.yaml) в облачном хранилище. Затем вы можете использовать cloud-builders/gsutil для получения этого файла на этапе сборки, например:

steps:
- name: gcr.io/cloud-builders/gsutil
  args: ['cp', 'gs://mybucket/env_vars.txt', 'env_vars.txt']

Это скопирует файл в каталог /workspace. На следующем этапе сборки можно заполнить файл app.yaml переменными среды (или даже просто скопировать полученный файл app.yaml по правильному пути). Следующим и последним шагом будет тот, который вы упомянули для развертывания приложения.

Обратите внимание, что при выполнении в среде Cloud Build команды выполняются с учетными данными учетной записи службы построителя для проекта. Вам необходимо предоставить доступ к файлу в облачном хранилище этой учетной записи службы.

Другие вопросы по тегам