Я создал новое веб-приложение с использованием Codestar на AWS, и в целом оно работает довольно хорошо.Большая проблема, с которой я столкнулся сейчас, заключается в том, что переменные среды, которые я устанавливаю в конфигурации программного обеспечения Beanstalk, не сохраняются между развертываниями.
Я очень быстро обнаружил, что могу использовать SourceConfiguration
внутри template.yml
для достижения этой цели, поэтому вот что я сделал:
- Развернуло мое приложение
- Когда все было готово, я определил все свои переменные в конфигурации программного обеспечения и подождал, пока приложение повторно развернуло
- Перешел на
Actions
-> Save Configuration
, и успешно все сохранил - В моем шаблоне.yml, я ввел имя новой конфигурации и снова развернул приложение
Процесс, описанный выше, сработал в первый раз, когда я это сделал.
Однако, когда я изменяю конфигурацию, сохраните их снова под новым именем и заново разверните приложение с new SourceConfiguration, которое не используетпоследняя созданная мной конфигурация и возвращающаяся к предыдущей .
Если я вручную загружаю сохраненную конфигурацию после развертывания, она успешно восстанавливает заданную мной среду.
AmЯ упустил что-то очень очевидное?
Вот мой отредактированный template.yml на случай, если я что-то не так делаю.
AWSTemplateFormatVersion: 2010-09-09
Transform:
- AWS::CodeStar
Resources:
EBConfigurationTemplate:
Description: The AWS Elastic Beanstalk configuration template to be created for this project, which defines configuration settings used to deploy different versions of an application.
Type: AWS::ElasticBeanstalk::ConfigurationTemplate
Properties:
ApplicationName: !Ref 'EBApplication'
Description: The name of the sample configuration template.
OptionSettings:
- Namespace: aws:elasticbeanstalk:environment
OptionName: EnvironmentType
Value: LoadBalanced
- Namespace: aws:elasticbeanstalk:environment
OptionName: ServiceRole
Value: !Ref 'EBTrustRole'
- Namespace: aws:elasticbeanstalk:healthreporting:system
OptionName: SystemType
Value: enhanced
SolutionStackName: !Ref 'SolutionStackName'
SourceConfiguration:
ApplicationName: !Ref 'EBApplication'
TemplateName: "my-saved-vars" <---- This is where i define my old configuration