0

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

我想将Chef deploy 资源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 属性。我不知道在使用部署资源时如何传递此属性。

我怎样才能使这项工作?有没有人举例说明如何将 Chef 部署资源Chef Mercurial 提供程序一起使用?

4

0 回答 0