Я пытаюсь заменить переменную в app.yaml триггером облачной сборки.
Я добавил переменную подстановки в триггер сборки.
Добавьте переменные среды в app.yaml таким образом, чтобы их можно было легко заменить переменными триггера сборки. Нравится:
env_variables:
SECRET_KEY: %SECRET_KEY%
Добавьте шаг в cloudbuild.yaml, чтобы заменить все переменные% XXX% внутри app.yaml их значениями из триггера сборки.
steps:
- name: node:10.15.1
entrypoint: npm
args: ["install"]
- name: 'gcr.io/cloud-builders/gcloud'
entrypoint: bash
args:
- '-c'
- |
sed -i 's/%SESSION_SECRET%/'${_SESSION_SECRET}'/g' app.yaml
timeout: "1600s"
Проблема в том, что Gcloud Build выдает исключение:
Already have image (with digest): gcr.io/cloud-builders/gcloud
bash: _L/g: No such file or directory
Почему ? Как я могу заменить свой app.yaml?
У меня есть app.yaml в корне проекта на том же уровне cloudbuild.yaml
ОБНОВЛЕНО
Я пытаюсь создать и отладить gcloud локально с помощью этой команды:
sudo cloud-build-local --config=cloudbuild.yaml --write-workspace=../workspace --dryrun=false --substitutions=_SESSION_SECRET=test --push .
Когда я заглянул в файл app.yaml, подстановка сработала так, как ожидалось, и никаких исключений нет.
В чем разница со средой сборки gcloud?