首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在engineyard中设置环境变量

在engineyard中设置环境变量
EN

Stack Overflow用户
提问于 2012-09-10 04:18:42
回答 5查看 3.4K关注 0票数 6

我从heroku那里了解到,可以通过在本地运行heroku config:add MY_ENV_VAR=123来添加环境变量。如何使用engineyard实现相同的功能?

EN

回答 5

Stack Overflow用户

发布于 2012-10-18 21:10:55

我们遇到了同样的问题,并向EngineYard寻求帮助。来自安永的Jim Neath回复如下:

不幸的是,passenger没有从系统中获得传递的环境变量。您需要做的是创建一个ruby包装器,它定义您的环境变量并使用以下代码启动passenger,如下所述:

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

票数 9
EN

Stack Overflow用户

发布于 2012-09-21 15:43:34

我认为你不能。

我们在Rails应用程序中使用的一个变通方法是ssh (ey ssh)到EngineYard并在vim /data/your_app_name/shared/config/exports.rb中创建一个文件。此文件可能如下所示:

代码语言:javascript
复制
ENV["AWS_ACCESS_KEY_ID"] = "your key"
ENV["AWS_SECRET_ACCESS_KEY"] = "your secret"
ENV["AWS_BUCKET"] = "your bucket"

然后在config/boot.rb中需要该文件:

代码语言:javascript
复制
require File.expand_path('./exports', File.dirname(__FILE__))

这既不漂亮,也不容易。但是,它允许您在应用程序中使用不应该签入到源代码控制中秘密!

票数 4
EN

Stack Overflow用户

发布于 2012-12-06 18:25:45

对于使用env.custom的独角兽来说,这非常简单。请看我的回答,https://stackoverflow.com/a/13741463/1520775

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12342612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档