Я пытаюсь развернуть свое приложение rails с рецептами opsworks, полученными от AWS. Я попытался настроить все это, сославшись на блог здесь . Что бы он ни сказал, это «php» или «php-app», я заменил его на «rails» и имя моего приложения. Моя роль JSON в приложении выглядит так -
{
"name": "hercules",
"description": "OpsWorks recipe run-list for the rails app layer",
"app_type": "rails",
"default_attributes": {
"max_pool_size": 5
},
"run_list": [
"recipe[opsworks_initial_setup]",
"recipe[dependencies]",
"recipe[unicorn::rails]",
"recipe[rails::configure]",
"recipe[deploy::default]",
"recipe[deploy::rails]"
],
"chef_type": "role",
"json_class": "Chef::Role"
}
Когда я пытаюсь развернуть, он хорошо выполняет другие рецепты и застревает на этой ошибке для deploy::rails
-
==> app: ================================================================================
==> app: Recipe Compile Error in /tmp/vagrant-chef-3/chef-solo-1/cookbooks/deploy/recipes/rails.rb
==> app: ================================================================================
==> app:
==> app:
==> app: NoMethodError
==> app: -------------
==> app: No resource or method named
opsworks_deploy' for
Chef :: Recipe "rails" '==> app: ==> app: ==> app: Cookbook Trace: ==> app: --------------- ==> app : /tmp/vagrant-chef-3/chef-solo-1/cookbooks/deploy/recipes/rails.rb:20:in block in from_file'
==> app: /tmp/vagrant-chef-3/chef-solo-1/cookbooks/deploy/recipes/rails.rb:2:in
each '==> приложение: / tmp / vagrant-chef-3 / chef-solo-1 /cookbooks/deploy/recipes/rails.rb:2:in `from_file '==> приложение:
Если я открою rails.rb:20
, эта функция будет там -
opsworks_deploy do
Chef::Log.info("****** hi there *")
Chef::Log.info("#{application}")
Chef::Log.info(deploy.inspect)
app application
deploy_data deploy
end
Я упустил что-то ужасно глупое?
rails.rb
есть определение строки и функции. Обновлен OP, чтобы отразить это. - person Shrinath   schedule 01.10.2014