У меня есть простая установка Laravel, которую я пытаюсь настроить для работы через AWS CodePipeline с использованием ECS.
Что я сделал?
Мой Codepipeline настроен с buildspec.yml
файл, где я указал, что он должен использовать значение из хранилища параметров, как
env:
parameter-store:
TEST_STRING: "TEST"
мой TEST
переменная существует в хранилище параметров, и я могу получить ее, используя cli.
Что я хочу сделать?
Я хочу, чтобы моя переменная окружения была доступна для моей установки Laravel, поэтому я могу использовать хранилище параметров для сохранения паролей и имен пользователей, например, для. базы данных и API.
Что на самом деле происходит?
Когда я пытаюсь получить доступ к переменной окружения через php, я не получаю никакого значения. Если я var_dump
$ _ENV, тогда я не вижу свой TEST_STRING в данном массиве.
Я вполне уверен, что переменная среды существует только в процессе сборки, но я не могу понять, как «перенести» переменную среды из моего процесса сборки в развернутый код.
Вопрос
Чего мне не хватает, чтобы сделать переменные среды из процесса сборки доступными для развернутого кода?
Перейдите в свой кластер и найдите определения задач для соответствующей задачи, в которую вы хотите добавить некоторые переменные среды.
Нажмите, чтобы создать новую ревизию задачи, в которую вы хотите добавить переменные.
В разделе «Определения контейнеров» у вас есть список контейнеров для этой задачи. Выберите соответствующий контейнер, и модал прокатится с правой стороны экрана.
Прокрутите немного вниз и найдите Environment> Environment Variables. Здесь вы можете добавить переменные среды. Вы можете установить статическое значение (с помощью «value») или значение хранилища параметров (с помощью «valueFrom»).
Сохраните новую версию и не забудьте обновить службу, чтобы использовать новое определение.
Других решений пока нет …