我使用Amazon OpsWorks为NodeJS应用服务器配置了一个堆栈。
我需要访问一些定义Google API凭据的环境变量。我怎样才能做到这一点?我已经花了两天多的时间。
我最后得到了以下厨师食谱:
magic_shell_environment "GOOGLE_CLIENT_ID" do
owner 'root'
group 'root'
value "********"
mode '0600'
end
我使用root帐户,因为似乎NodeJS在该帐户下运行。如果我删除owner
和group
属性,我可以很好地读取这些环境变量(作为默认的ubuntu
用户)。但是,当我ssh到我的实例并以root身份输入echo $GOOGLE_CLIENT_ID
时,我得到一个空字符串。
此外,记录了console.xxxx(...)
的输出?
答案 0 :(得分:1)
OpsWorks现在允许您在应用设置页面中指定最多20个自定义环境变量。对于node.js应用程序,这些将在process.env对象中可用。
答案 1 :(得分:0)
使用OpsWorksEnvy食谱。它可以很好地挂接到默认的nodejs cookbook中,并允许您在堆栈属性中设置环境变量。
答案 2 :(得分:0)
这应该很容易做到。只需将以下行添加到食谱顶部即可。
ENV['GOOGLE_CLIENT_ID']="YOUR_CLIENT_ID"