У меня есть конвейер 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. Но я не думаю, что это лучший подход.