如何将AWS CLI与Elastic Beanstalk一起使用?

时间:2016-06-05 17:39:54

标签: amazon-web-services elastic-beanstalk aws-cli amazon-elastic-beanstalk

在文档中,它指出EB CLI已被AWS CLI取代,但所有文档仍在讨论EB CLI。

我已在Elastic Beanstalk控制台中创建了一个应用程序,现在我已准备好开始开发。我已经在Ubuntu上安装了所有工具,并且我已经在本地测试了它。现在我想将它部署到Elastic Beanstalk。如何使用AWS CLI执行此操作?

2 个答案:

答案 0 :(得分:23)

您必须从应用程序创建源包,请在此处查看详细信息:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/applications-sourcebundle.html(或者您也可以使用AWS CodeCommitAWS 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