Как передать системные переменные окружения в app.yaml? - PullRequest
0 голосов
/ 11 января 2019

Возможно ли это? Вот мой app.yaml:

runtime: nodejs8
env_variables:
  NODE_ENV: production
  PORT: 8080
  API_KEY: ${API_KEY}

${API_KEY} как заполнитель.

Когда я запускаю команду API_KEY=xdfj212c gcloud app deploy app.yaml, я хочу передать API_KEY=xdfj212c в app.yaml и заменить заполнитель на xdfj212c.

Ожидаемый результат:

runtime: nodejs8
env_variables:
  NODE_ENV: production
  PORT: 8080
  API_KEY: xdfj212c

Или, после того, как я бегу

  1. export API_KEY=xdfj212c

  2. gcloud app deploy

Я хочу того же поведения.

Имеет ли это смысл для рабочего процесса развертывания ядра приложения Google?

1 Ответ

0 голосов
/ 11 января 2019

Вы всегда можете использовать «sed»:

$ sed -i 's/${API_KEY}/xdfj212c/g' app.yaml && gcloud app deploy

«Плохо» то, что при этом ключ сохраняется обратно, но вы всегда можете добавить новую команду «sed», чтобы заменить ключ снова заполнителем, или использовать механизм VCS, чтобы просто сбросить файл изменений.

Другой вариант - сохранить файл 'app.yaml' как нечто вроде 'app_template.yaml' и сделать это для ваших развертываний:

$ sed 's/${API_KEY}/xdfj212c/g' app_template.yaml | tee app.yaml; gcloud app deploy

Это сделает замену в новом файле app.yaml, а затем выполнит развертывание.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...