OpsWorks (Chef) before_symlink 回调不工作
OpsWorks (Chef) before_symlink callback not working
我正在尝试向自定义 deploy
Chef 食谱添加 before_symlink
回调,以便在 AWS OpsWorks 上使用。我使用的是 Chef 11 设置,因此亚马逊自己的收据会处理 95% 的事情。
我得到一个 Recipe Compile Error
:
NoMethodError
-------------
No resource or method named `before_symlink' for `Chef::Recipe "deploy"'
我还在学习 Chef,所以我不清楚是什么原因造成的。我在自定义配方的开头调用了 include_recipe 'deploy'
,Amazon’s own custom deploy recipe 似乎也有类似的作用。
这是我的食谱:
include_recipe 'deploy'
node[:deploy].each do |application, deploy|
if (deploy[:application_type] != 'rails') || (application != 'backscratchers')
Chef::Log.debug("Skipping deploy::rails application #{application} as it is not a Rails app")
next
end
before_symlink do
directory "#{release_path}/tmp" do
mode 0770
end
end
end
before_symlink
块实际上必须放在 deploy
或 deploy_revision
配方中。它与亚马逊的 deploy
cookbook/recipe.
无关
也就是说,我不建议再使用 deploy
资源,因为它对于大多数需求而言过于复杂。查看 https://github.com/poise/application_examples/ 以获取更多 Chef 风格的应用程序部署示例。
我正在尝试向自定义 deploy
Chef 食谱添加 before_symlink
回调,以便在 AWS OpsWorks 上使用。我使用的是 Chef 11 设置,因此亚马逊自己的收据会处理 95% 的事情。
我得到一个 Recipe Compile Error
:
NoMethodError
-------------
No resource or method named `before_symlink' for `Chef::Recipe "deploy"'
我还在学习 Chef,所以我不清楚是什么原因造成的。我在自定义配方的开头调用了 include_recipe 'deploy'
,Amazon’s own custom deploy recipe 似乎也有类似的作用。
这是我的食谱:
include_recipe 'deploy'
node[:deploy].each do |application, deploy|
if (deploy[:application_type] != 'rails') || (application != 'backscratchers')
Chef::Log.debug("Skipping deploy::rails application #{application} as it is not a Rails app")
next
end
before_symlink do
directory "#{release_path}/tmp" do
mode 0770
end
end
end
before_symlink
块实际上必须放在 deploy
或 deploy_revision
配方中。它与亚马逊的 deploy
cookbook/recipe.
也就是说,我不建议再使用 deploy
资源,因为它对于大多数需求而言过于复杂。查看 https://github.com/poise/application_examples/ 以获取更多 Chef 风格的应用程序部署示例。