【发布时间】:2016-05-31 07:10:16
【问题描述】:
我想我应该先警告一下,我对 OpsWorks 和 Chef 还很陌生。我正在尝试使用提供的“Rails App Server”层设置 RoR 应用程序。我的应用程序依赖于 config/ 目录中存在的 config.yml 文件,因此我创建了一个非常简单的配方,应该为我创建该文件:
node[:deploy].each do |application, deploy|
template "#{deploy[:deploy_to]}/shared/config/config.yml" do
source "config.yml.erb"
cookbook 'current_client_spin'
mode "0660"
group deploy[:group]
owner deploy[:user]
notifies :run, "execute[restart Rails app #{application}]"
only_if do
File.directory?("#{deploy[:deploy_to]}/shared/config/")
end
end
end
我的食谱结构包括一个 /templates/default/ 目录,其中包含正确的 .erb 文件。
我将此配方添加到“部署”循环中,并且通过明智地使用日志记录语句,我可以看到配方正在被调用,但文件并未被创建。我进一步调查了一下,似乎在调用我的配方时,deploy[:deploy_to]/shared/config 目录不存在。尽管默认的 Rails 配方显然在其中放置了一些其他文件 - 所以我非常困惑。
任何帮助将不胜感激。
谢谢!
【问题讨论】:
标签: ruby-on-rails ruby amazon-web-services