我不能为我的生活弄清楚如何让OpsWorks使用我的rails staging环境。我有开发,分期和生产。在OpsWoks上开发本地机器以及两个不同堆栈的分段和生产。我只是想让我的暂存环境正常工作,但它一直在部署为生产。暂存基本上是我的开发环境的重复,但它能够在外部发送电子邮件,并且具有不同的数据库主机而不是localhost。
到目前为止,我在堆栈设置中设置了这个自定义json:
{
"deploy": {
"my_app_name": {
"rails_env": "staging",
"database": {
"adapter": "mysql2"
}
}
}
}
在添加此数据库适配器密钥/对之前,我一直与RDS存在数据库连接问题。我只是不能让它在启动时启动我的rails应用程序。
创建应用程序并指定git源和RDS时,它会要求" Rails环境"。我将此设置为分阶段思考,这就是我需要做的就是定义要使用的rails环境。
OpsWorks的任何专家都可以提供帮助,非常感谢。我今天刚开始设置它。我希望文档有一些更好的例子。
答案 0 :(得分:1)
OpsWorks将使用您在应用程序的自定义json中指定的rails_env启动应用程序。需要注意的是,如果您进入服务器并执行rails console
,您将看到Rails.env
与您在JSON中设置的不一样。这是因为OpsWorks使用您输入的设置启动应用程序,但它不会将该设置保存为环境变量。因此,当您使用cli时,它并不知道要使用哪种环境。
有关更多信息,请参阅以下优秀答案: https://stackoverflow.com/a/21949946/973810