【问题标题】:AWS Elastic Beanstalk deploy to multiple applicationsAWS Elastic Beanstalk 部署到多个应用程序
【发布时间】:2016-09-05 22:37:06
【问题描述】:

我试着描述一下我的情况:

拥有多个AWS账户,凭证位于~/.aws/credential下 要切换到我正在输入的其他帐户:

eb init -i --profile name

现在要将代码部署到帐户,我必须每次切换到其他帐户。我如何组织 .ebextensions 以有可能部署到 10 个 AWS acc 而无需在配置文件之间切换?

【问题讨论】:

    标签: amazon-web-services deployment amazon-ec2 amazon-elastic-beanstalk


    【解决方案1】:

    你不需要每次都做eb init。您可以使用参数进行部署,eb deploy --profile profile_name

    如果您设置类似这样的 .elasticbeanstalk/config 文件,您可以在不使用参数的情况下为不同的环境创建不同的配置文件和分支。

    branch-defaults:
      develop:
        environment: env-develop
        profile: eb-profile
      master:
        environment: env-master
        profile: eb-profile2
    global:
      application_name: env_name
      default_ec2_keyname: key_name
      default_platform: Python 2.7
      default_region: ap-southeast-1
      sc: git
    

    我没有尝试过,但是如果您调用链接到其他地方的 eb deploy environment_name --profile eb-profile3,它应该使用您的分支和全局特定设置(配置文件覆盖)部署在那里。

    eb deploy <environment name> 覆盖环境名称。 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-deploy.html

    我只是简单地阅读了这篇文章,但也许​​这也可以帮助你。 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebcli-compose.html

    【讨论】:

    • 但是我需要 10 次写入运行 eb deploy 没有解决方案,单命令部署到 10 个配置文件?
    • 您还可以编写 AWS CLI 脚本,或使用他们的 SDK 来完全自动化部署。
    • @Wizard 一旦您开始跨多个实例自动更改部署/环境/配置,没有两个解决方案需要相同的过程。对您而言,在您的情况下,将其内置到单个命令中似乎很有意义。但是,您的特定情况实际上并不常见。这正是 AWS CLI 构建为脚本化的原因,以便可以自动化和定制此类流程和情况以满足任何需求。
    • 我不明白这如何让您部署到多个应用程序。当然,它显然可以处理多个环境和多个帐户。但是多个应用程序在哪里?看起来您已经硬编码了一个全局 application_name: env_name,这意味着您只部署到单个应用程序。
    • @Gustaf 确实是这样要求的。看起来我阅读了问题的标题,但没有阅读正文。
    猜你喜欢
    • 2021-02-11
    • 2018-12-07
    • 2022-06-11
    • 2018-04-21
    • 2017-04-14
    • 2017-05-11
    • 2015-07-17
    • 2020-07-05
    • 2021-10-11
    相关资源
    最近更新 更多