Настройка переменных среды развертывания CodeDeploy - PullRequest
2 голосов
/ 11 июля 2019

У меня есть конвейер CD для моего приложения NodeJS, и конвейер содержит следующие шаги:

1) Travis CI загружает основную ветвь на S3 в виде zip-файла

2) Travis CI запускает развертывание AWS CodeDeploy

3) CodeDeploy берет файл .zip, распаковывает его в мой AWS EC2 и запускает приложение

Но моему приложению NodeJS для работы нужны переменные окружения. Поскольку значения этих переменных чувствительны, я храню эти переменные в настройках репозитория TravisCI и не знаю, как передать переменные среды из Travis в EC2.

Я могу использовать атрибут env файла appspec.yml (для CodeDeploy), но мой env. переменные, содержащие конфиденциальную информацию, которой не должно быть в хранилище кода.

Есть ли лучшая практика, чтобы передать мой env. вары. из Трэвиса в экземпляр EC2 через CodeDeploy?

Сейчас я занимаюсь созданием файла .env во время сборки Travis и добавлением его в файл .zip, поэтому, когда приложение развернуто в EC2, я могу связаться с ними, используя пакет dotenv NodeJS. Но я не думаю, что это лучший подход.

1 Ответ

0 голосов
/ 24 июля 2019

Вы можете иметь их в зашифрованном формате на S3 (конечно, не как часть кода) и извлекать их перед развертыванием и удалять после развертывания. Вы также можете использовать https://www.vaultproject.io/.

...