【问题标题】:Setting up config files in AWS OpsWorks/Chef for Rails在 AWS OpsWorks/Chef for Rails 中设置配置文件
【发布时间】: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


    【解决方案1】:

    所以,事实证明这是一个“很好”的时刻。我把我的食谱放在了错误的“槽”里。我在“设置”插槽中需要它们,而不是“部署”或“配置”。希望如果其他人发现自己有这种令人头疼的问题,这将帮助他们。

    【讨论】:

    • 我试过这个。但是即使在设置生命周期中也没有创建“deploy[:deploy_to]/shared/config”。史蒂夫,你能帮忙吗?
    猜你喜欢
    • 1970-01-01
    • 2013-11-23
    • 1970-01-01
    • 2014-11-26
    • 2017-09-04
    • 2023-01-13
    • 1970-01-01
    • 2017-02-04
    • 2021-10-22
    相关资源
    最近更新 更多