Как объединить другого поставщика с ресурсом развертывания 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?

0 ответов

Другие вопросы по тегам