我正在尝试创建一个部署应用程序的方法。
我想将the Chef deploy resource与Chef Mercurial provider结合起来。此提供程序的自述文件表明它易于与部署资源一起使用。但是,我不知道该怎么做。
mercurial资源按预期工作:
mercurial deploy[:deploy_to] do
repository deploy[:scm][:repository]
ssh_key "/home/vagrant/.ssh/authorized_keys"
ssh_ignore true
branch true
revision deploy[:scm][:revision]
user deploy[:user]
group deploy[:group]
action :sync
end
但是我遇到了提供商的问题
deploy deploy[:deploy_to] do
repository deploy[:scm][:repository]
user deploy[:user]
group deploy[:group]
revision deploy[:scm][:revision]
environment deploy[:environment].to_hash
scm_provider Chef::Provider::Mercurial
action :deploy
end
我得到的错误是NoMethodError: undefined method 'ssh_key' for Chef::Resource::Deploy
。这可能是因为资源需要ssh_key属性。我不知道在使用部署资源时如何传递此属性。
我该如何使这项工作? 有没有人举例说明如何将the Chef deploy resource与Chef Mercurial provider一起使用?