Как объединить другого поставщика с ресурсом развертывания Chef?
Я пытаюсь создать рецепт для развертывания приложения.
Я хотел бы объединить ресурс развертывания Chef с поставщиком Chef Mercurial. В файле readme этого провайдера предполагается, что его легко использовать с ресурсом развертывания. Однако я не уверен, как это сделать.
Ртутный ресурс работает как положено:
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. Я не знаю, как передать этот атрибут при использовании ресурса развертывания.
Как я могу сделать эту работу? У кого-нибудь есть пример использования ресурса развертывания Chef с поставщиком Chef Mercurial?