Назад | Перейти на главную страницу

Требовать синтаксис для rbenv :: compile in puppet

У меня такой код:

  rbenv::compile { "1.9.3-p327":
    user => "vagrant",
    home => "/home/vagrant",
  }

  exec {"rbenv-global-1.9.3-p327":
    command => "rbenv global 1.9.3-p327",
    path => "/home/vagrant/.rbenv/bin",
  }

Я хотел бы добавить требование к "rbenv-global-1.9.3-p327", потому что оно должно выполняться после rbenv :: compile, но я не знаю правильный синтаксис

Если вы не знаете правильный синтаксис, почему бы вам не поискать его? Документация Puppet превосходна, особенно разделы «Learning Puppet». Вы хотите require ключевое слово, и вы хотите прочитать по крайней мере все http://docs.puppetlabs.com/learning/index.html.

Это должно сделать это:

rbenv::compile { "1.9.3-p327":
  user => "vagrant",
  home => "/home/vagrant",
}

exec {"rbenv-global-1.9.3-p327":
  command => "rbenv global 1.9.3-p327",
  path    => "/home/vagrant/.rbenv/bin",
  require => Rbenv::Compile['1.9.3-p327']
}

В качестве альтернативы вы можете использовать стрелки цепочки для явного создания отношения:

rbenv::compile { "1.9.3-p327":
  user => "vagrant",
  home => "/home/vagrant",
}

exec {"rbenv-global-1.9.3-p327":
  command => "rbenv global 1.9.3-p327",
  path    => "/home/vagrant/.rbenv/bin",
}

Rbenv::Compile['1.9.3-p327'] ->
Exec['rbenv-global-1.9.3-p327']