如何将不同的提供程序与Chef部署资源组合在一起?

时间:2015-05-29 11:27:33

标签: ruby chef chef-recipe lwrp

我正在尝试创建一个部署应用程序的方法。

我想将the Chef deploy resourceChef 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 resourceChef Mercurial provider一起使用?

0 个答案:

没有答案