【问题标题】:Elastic beanstalk Rails - defaults to production environment even if I set staging environmentElastic beanstalk Rails - 即使我设置了暂存环境,也默认为生产环境
【发布时间】:2012-11-14 20:39:50
【问题描述】:

我正在尝试使用弹性 beantalk 调出 rails applciation 的暂存实例。我按照文档进行了以下操作:

eb init --environment staging
eb start --environment staging

在此之后,我检查了 .elasticbeanstalk/optionsettings 是否仍然将“生产”作为环境。我手动将其更新为暂存,并尝试了 git aws.push 命令。

一段时间后,一切都已部署,但是,当我加载 URL 时,应用程序似乎仍在使用所有生产配置,而不是暂存。我是否缺少任何步骤?

【问题讨论】:

    标签: ruby-on-rails deployment amazon-web-services amazon-elastic-beanstalk


    【解决方案1】:

    eb CLI 工具中的 --environment 开关不是指 Rails 环境,而是指您尝试启动的 Elastic Beanstalk 环境。 Elastic Beanstalk 环境是一组用于已部署应用程序版本的预置资源。这与 Rails/Rack 环境不同,后者只是用户定义的上下文,供应用程序代码在单个机器上运行。

    为了设置您的Rails 环境,您需要在.elasticbeanstalk/optionsettings 文件中的eb start 之后设置RACK_ENV(或RAILS_ENV)环境变量,然后调用eb update 触发这些环境变量的更新。或者,您可以通过Elastic Beanstalk console 编辑您的Elastic Beanstalk 环境 配置;在正确的环境上点击“Environment details”,在Overview中点击“Edit Configuration”,然后进入“Container”调整环境变量(在这种情况下,您将编辑RACK_ENV字段)。

    【讨论】:

    • 设置 RACK_ENV 和 RAILS_ENV 有效。还必须重新启动应用服务器。
    【解决方案2】:

    虽然我使用的是eb_deployer 而不是eb 命令行,但在尝试部署RAILS_ENV: development 时,我发现db:migrate 等在开发环境中运行,但它仍然在生产环境中启动了服务器模式。为了解决这个问题,必须在 option_settings 中同时传入 RACK_ENV 和 RAILS_ENV:

    [{
       namespace: 'aws:elasticbeanstalk:application:environment',
       option_name: 'RACK_ENV',
       value: "development"
     },
     {
       namespace: 'aws:elasticbeanstalk:application:environment',
       option_name: 'RAILS_ENV',
       value: "development"
     }]
    

    【讨论】:

      【解决方案3】:

      这是首次将应用程序部署到 elasticbeanstalk 的明确指南。

      1) eb init --profile profile-name(配置文件名称将在 .aws > config 中)

      2) 输入序列号,根据需要选择默认区域。

      3) 通过输入序列号选择要使用的应用程序。

      4) 电子清单

      5) eb 使用(列表中的名称)

      6) eb status (会给你状态) 就是这样,您完成了初始化。 现在,如果你想改变环境,只需使用以下命令。

      • eb setenv RACK_ENV=staging(需要一段时间)。

      • eb 部署(在 git 暂存之后)。

      你完成了!!!!

      【讨论】:

      • 我用 git 检查了新分支(一个 分支),每个分支都遵循上述,但需要使用“eb create”,而不是 init。
      猜你喜欢
      • 2020-11-23
      • 2020-10-13
      • 1970-01-01
      • 2020-12-08
      • 2015-11-19
      • 2022-01-07
      • 1970-01-01
      • 2017-01-30
      • 2015-07-30
      相关资源
      最近更新 更多