Наша цель - создать неизменяемые артефакты и развернуть их в различных средах. Serverless Framework уже поддерживает это с помощью функции package
, поэтому мы можем создать только один пакет сборки и развернуть его в разных средах / учетных записях AWS. Мы создаем пакет с sls package -v -p build
в нашей учетной записи / среде сборки и затем развертываем его в наших средах разработки, интеграции и производства с sls deploy -v -p build
.
К сожалению, мы не нашли способ перезаписать переменные среды в разных учетных записях / средах. Используемые переменные и среды жестко запрограммированы в файле cloudformation-template-update-stack.json после упаковки.
что мы пробовали:
- конфигурация с внешними файлами, например
SQS_QUEUE_NAME: ${file(config/config.${self:provider.stage}.json):SQS_QUEUE_NAME}
илиSQS_QUEUE_NAME: ${file(config/config.${opt:stage}.json):SQS_QUEUE_NAME}
- serverless-plugin-сочиненные-переменные
- перезаписывать файлы конфигурации во время развертывания, например
sls deploy -v -c config/config.production.json -p build
Есть у нас missed
что-нибудь? Спасибо!