gpt4 book ai didi

ruby-on-rails - 使用 AWS Opsworks 设置环境变量

转载 作者:行者123 更新时间:2023-12-03 12:20:14 25 4
gpt4 key购买 nike

我正在使用 AWS Opsworks 托管我的 Rails 应用程序 (Ruby 2.0/Rails 3.2)。对于 Assets 编译过程,我使用 AssetSync 将编译后的 Assets 自动上传到 S3 上。我曾经将凭据存储为环境变量。

您是否知道如何使用 Chef/Opsworks 执行此操作?

谢谢。

最佳答案

我知道这是一篇较旧的帖子,但我将其发布以防对其他人有所帮助。

我发现实际上最简单的方法是使用 Chef 的部署 Hook 之一 (http://docs.opscode.com/resource_deploy.html#deploy-phases)。

在 Rails 项目根目录中添加名为“deploy”的目录。

在其中添加一个名为 before_restart.rb 的文件,代码为:

Chef::Log.info("Running deploy/before_restart.rb")

# map the environment_variables node to ENV
node[:deploy].each do |application, deploy|
deploy[:environment_variables].each do |key, value|
Chef::Log.info("Setting ENV[#{key}] to #{value}")
ENV[key] = value
end
end

当您触发 OpsWorks 部署时,您应该能够在 Rails 应用服务器实例日志中看到设置的 ENV 变量。

关于ruby-on-rails - 使用 AWS Opsworks 设置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19462827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com