我有两个独立的环境来管理我的应用程序,一个主要环境,一个带有负载均衡器的web服务器,一个辅助环境,一个运行crons的小型层工作者。
我的.ebextensions包含许多实例和负载均衡器配置,例如:
01 amazon.config
Resources:
# LB SG
AWSEBLoadBalancerSecurityGroup:
Type: "AWS::EC2::SecurityGroup"
Properties:
....
当我通过eb deploy worker-env部署到我的工作人员实例时,有没有办法忽略这个单个文件
如果文件未被忽略,则会导致错误,因为工作人员没有负载均衡器。
答案 0 :(得分:0)
正如 astroanu 在上面的评论中所写的那样,一种方法是根据您的环境制作一个版本。以下是根据环境使用 eb create
和 custom-$(ENV_TYPE).config 文件从我的 Makefile 中提取的内容。 eb deploy
应该可以使用相同类型的参数。
git archive -v -o $(ZIP) --format=zip HEAD
zip $(ZIP) .ebextensions/custom-$(ENV_TYPE).config
aws s3 cp "$(ZIP)" "s3://$(BUCKET)/$(APP_NAME)/$(VERSION).zip"
aws elasticbeanstalk create-application-version --application-name "$(APP_NAME)" --version-label "$(VERSION)" --description '$(DESCRIPTION)' --source-bundle "S3Bucket=$(BUCKET),S3Key=$(APP_NAME)/$(VERSION).zip"
eb create --process --version "$(VERSION)" --branch_default --instance-types "$(INSTANCE_TYPES)" --cname "$(CNAME)"