在文档中,它指出EB CLI已被AWS CLI取代,但所有文档仍在讨论EB CLI。
我已在Elastic Beanstalk控制台中创建了一个应用程序,现在我已准备好开始开发。我已经在Ubuntu上安装了所有工具,并且我已经在本地测试了它。现在我想将它部署到Elastic Beanstalk。如何使用AWS CLI执行此操作?
答案 0 :(得分:23)
您必须从应用程序创建源包,请在此处查看详细信息:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/applications-sourcebundle.html(或者您也可以使用AWS CodeCommit或AWS CodeBuild作为应用程序的来源。)
然后,您可以使用AWS CLI从应用程序创建新版本并将其部署到一个应用程序环境。 (请参阅EBS here的CLI文档。)
创建源包:
zip MyCodeBundle.zip <source files>
将其上传到S3:
aws s3 cp MyCodeBundle.zip s3://a-bucket-where-you-store-your-source-bundles/
Create a new application version使用刚上传的源包:
aws elasticbeanstalk create-application-version --application-name YourEBSAppName --version-label YourVersionLabel --source-bundle S3Bucket="a-bucket-where-you-store-your-source-bundles",S3Key="MyCodeBundle.zip"
最后你update one of your environments使用该版本(这是 deploy ,即使新{{}}}中的动词完全丢失 - 这对我来说有点混乱) :
aws elasticbeanstalk update-environment --application-name YourEBSAppName --environment-name YourEBSEnvironmentName --version-label YourVersionLabel
答案 1 :(得分:1)
为补充@qqbenq答案,这是一个使用给定deployment policy进行beantalk的AWS CLI部署示例:
aws elasticbeanstalk update-environment \
--environment-name <eb-env-name> \
--version-label <verion-label-to-deploy> \
--option-settings \
Namespace=aws:elasticbeanstalk:command,OptionName=DeploymentPolicy,Value=Rolling \
Namespace=aws:elasticbeanstalk:command,OptionName=BatchSizeType,Value=Fixed \
Namespace=aws:elasticbeanstalk:command,OptionName=BatchSize,Value=1