【问题标题】:How to use AWS CLI with Elastic Beanstalk?如何将 AWS CLI 与 Elastic Beanstalk 一起使用?
【发布时间】:2016-10-05 07:41:41
【问题描述】:

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

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

【问题讨论】:

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


【解决方案1】:

您必须从您的应用程序创建一个源包,请在此处查看详细信息: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 CLI for EBS 完全没有那个动词 - 这让我有点困惑):

aws elasticbeanstalk update-environment --application-name YourEBSAppName --environment-name YourEBSEnvironmentName --version-label YourVersionLabel

【讨论】:

  • 谢谢!我一直在寻找一种在没有亚马逊提供的奇怪的 git 集成东西的情况下部署到 EB 的方法。这比我希望的要长一点,但它确实有效。
  • 如果您尝试通过 Github 操作运行此操作,则需要添加区域标志。 “--region us-east-1”
  • 你能帮我解决这个问题 - 我怎么知道环境部署是否完成?因为即使在 aws elasticbeanstalk update-environment 成功之后-部署仍在 aws 中处理
【解决方案2】:

为了补充@qqbenq 的答案,这里是一个AWS CLI 部署到beanstalk 的示例,带有给定的deployment policy

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

【讨论】:

  • 这真的节省了我的时间,我所寻找的只是更新一个custom value 内部配置。这是我最后的命令:aws elasticbeanstalk update-environment --environment-name myenvname --option-settings Namespace=aws:elasticbeanstalk:application:environment,OptionName=CONFIGURATION_NUMBER,Value=1.2.003
  • @mdabdullah 很高兴这个答案很有用:-)
猜你喜欢
  • 2020-07-17
  • 2022-12-13
  • 2016-05-12
  • 2020-08-18
  • 2018-08-28
  • 2015-05-25
  • 2019-06-24
  • 2017-08-08
  • 1970-01-01
相关资源
最近更新 更多