Cle*_*elm 6 ruby-on-rails engineyard
我从heroku了解到,可以通过heroku config:add MY_ENV_VAR=123本地运行来添加环境变量.如何与发动机厂实现同样的目标?
我们遇到了同样的问题,并向EngineYard寻求帮助.来自安永的Jim Neath回复了以下回复:
不幸的是,乘客没有从系统中获取环境变量.你需要做的是创建一个ruby包装器来定义你的环境变量并使用它来启动乘客,如下所述:
http://blog.phusion.nl/2008/12/16/passing-environment-variables-to-ruby-from-phusion-passenger/
我为您创建了一个基本的自定义厨师食谱,它将做到这一点:
https://github.com/jimneath/ey-cloud-recipes/tree/master/cookbooks/passenger_env_vars
您需要使用环境变量更新以下文件:
/ey-cloud-recipes/blob/master/cookbooks/passenger_env_vars/templates/default/env.custom.erb
小智 4
我认为你不能=/。
我们在 Rails 应用程序中使用的一种解决方法是通过 ssh(ey ssh)连接到 EngineYard 并在 vim /data/your_app_name/shared/config/exports.rb 中创建一个文件。该文件可能如下所示:
ENV["AWS_ACCESS_KEY_ID"] = "your key"
ENV["AWS_SECRET_ACCESS_KEY"] = "your secret"
ENV["AWS_BUCKET"] = "your bucket"
Run Code Online (Sandbox Code Playgroud)
然后在 config/boot.rb 中您需要该文件:
require File.expand_path('./exports', File.dirname(__FILE__))
Run Code Online (Sandbox Code Playgroud)
这既不漂亮,也不轻松。然而,它允许您在应用程序中使用您不应该检查源代码控制的秘密!
| 归档时间: |
|
| 查看次数: |
3256 次 |
| 最近记录: |