【问题标题】:EB Deploy to multiple environmentsEB 部署到多个环境
【发布时间】:2015-07-29 00:53:39
【问题描述】:

我有相同的代码库(一个 git 存储库),我想上传到多个弹性 beanstalk 环境。有没有办法做到这一点,如果是这样,我应该如何设置我的存储库,以便我可以推送到多个环境?

环境是网站的不同语言版本,我想在不同的 beanstalks 中运行。语言由环境参数设置。

【问题讨论】:

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


    【解决方案1】:

    回答我自己的问题。 AWS EB CLI 3+ 有一个很好的界面,可以部署到多个环境。如果您将另一个环境添加到您的应用程序,您可以简单地使用部署

    eb deploy <environment-name>
    

    【讨论】:

    • 有没有办法用config.yml 文件做到这一点?
    • 可以只执行一个命令部署到多个环境吗?例如eb deploy &lt;environment-1&gt; &lt;environment-2&gt;
    • @HueyLy 目前看来这是不可能的。但是你可以做eb deploy &lt;env1&gt; -v &amp;&amp; eb deploy &lt;env2&gt; -v等等.. ;)
    • 我已向 EB 团队提出了一项建议以允许这样做:github.com/aws/elastic-beanstalk-roadmap/issues/165
    【解决方案2】:

    您可以通过在.elasticbeanstalk/config.yml 文件中添加如下配置,使 eb cli 引用来自不同分支的不同环境:

    branch-defaults:
      main:
        environment: staging
      production:
        environment: production
    

    在此示例中,当您从“main”分支运行 eb deploy 时,它将部署到名为“staging”的环境中,而当您从“生产”分支运行它时,它将部署到名为“生产”。

    这种方法要求每个环境都有一个专门的分支。要将一个分支推送到多个环境,可以使用@adnan's answer,并在使用eb deploy命令时指定一个分支:

    eb deploy <environment_name>
    

    【讨论】:

      【解决方案3】:

      如果您指定版本标签,您可以在其他 eb deploy 命令中使用该版本:

      eb deploy my-first-env -l version-1 && eb deploy my-second-env --version version-1
      

      【讨论】:

        【解决方案4】:

        如果你使用 git 并且每个环境都有一个分支:

        git checkout master
        eb use <environment-name>
        
        git checkout staging
        eb use <environment-name>
        
        git checkout worker
        eb use <environment-name>
        

        那你就可以了

        eb deploy

        这将部署到当前分支的定义环境。

        在后台,这会在 /.elasticbeanstalk/config.yml 中设置关联

        尽管如此,您仍然可以从任何分支eb deploy &lt;environment-name&gt;

        【讨论】:

          猜你喜欢
          • 2013-01-24
          • 2013-01-27
          • 1970-01-01
          • 2015-07-20
          • 2020-03-15
          • 1970-01-01
          • 2010-12-13
          • 1970-01-01
          • 2019-02-09
          相关资源
          最近更新 更多