Ruby on rails 如何将环境变量传递给宙斯
当我运行宙斯时:Ruby on rails 如何将环境变量传递给宙斯,ruby-on-rails,ruby,zeus,Ruby On Rails,Ruby,Zeus,当我运行宙斯时: MY_VAR=MY_VALUE zeus start 环境保留该变量,假设我想用MY\u VAR=MAY\u VALUE\u 2运行Rails服务器 我试过: MY_VAR=MAY_VALUE_2 zeus s 但它不起作用。我正在使用oh my zsh,以防这很重要 我该怎么做呢?不知道您是否还需要帮助,但是如果您希望能够将环境变量存储在文件中,您可以使用由zeus init生成的custom_plan.rb。下面是我的文件副本。我正在使用Omniauth,需要我的钥匙可
MY_VAR=MY_VALUE zeus start
环境保留该变量,假设我想用MY\u VAR=MAY\u VALUE\u 2运行Rails服务器
我试过:
MY_VAR=MAY_VALUE_2 zeus s
但它不起作用。我正在使用oh my zsh,以防这很重要
我该怎么做呢?不知道您是否还需要帮助,但是如果您希望能够将环境变量存储在文件中,您可以使用由zeus init
生成的custom_plan.rb
。下面是我的文件副本。我正在使用Omniauth,需要我的钥匙可以轻松更换。您可以通过重载server
方法来添加仅限服务器的变量,只需知道初始值设定项将在server命令之前运行
require 'zeus/rails'
class CustomPlan < Zeus::Rails
def boot
# Omniauth Keys
# GOOGLE+
ENV['GPLUS_KEY'] = 'xxx'
ENV['GPLUS_SECRET'] = 'xxx'
# FACEBOOK
ENV['FACEBOOK_KEY'] = 'xxx'
ENV['FACEBOOK_SECRET'] = 'xxx'
super # Finish boot
end
end
Zeus.plan = CustomPlan.new
需要“宙斯/rails”
类CustomPlan
将其传递给宙斯开始
SOME_ENV_VAR=test zeus start
我不确定您是否可以-据我所知,分叉子进程总是要继承父进程的环境,你可以使用zeus.json来设置这些。使用环境变量而不是设置文件的一个要点是,不容易意外地提交GPLUS_SECRET和FACEBOOK_SECRET之类的内容。使用这样的文件会使此问题再次出现。我希望有更好的选择。如果我在custom_plan.rb中添加env变量,那么我的zeus start命令就会失败。在zeusstart命令的开头添加env变量对我来说很有效。