Puppet代理无法从Git下载代码

时间:2015-07-06 13:29:44

标签: git window puppet puppetlabs-apache puppet-enterprise

我在ubuntu 14.4 VM上安装了puppet master。 Puppet代理如Windows 8。

这是我的site.pp文件。

package { 'git' :
  ensure => present,
}

vcsrepo { "C:\\GitCode":
  ensure => present,
  provider => git,
  source => "git://<url>.git",
}

它只需从 url 下载代码并将其放入 C:\ GitCode 。我在master上安装了gitvcsrepo个包。

在Windows上运行Agent时出现以下错误:

Running Puppet agent on demand ...
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for <certname>
Warning: Found multiple default providers for vcsrepo: dummy, p4; using dummy
Info: Applying configuration version '1436188748'
Error: The source parameter is required when using the Windows provider.
Error: /Stage[main]/Main/Package[git]/ensure: change from absent to present failed: The source parameter is required when using the Windows provider.
Error: /Stage[main]/Main/Vcsrepo[C:\GitCode]: Provider git is not functional on this host
Notice: Finished catalog run in 2.05 seconds
Press any key to continue . . .

1 个答案:

答案 0 :(得分:2)

所以这里有很多事情要发生。首先是木偶没有安装git。您需要提供一个安装源,因为代理是一个Windows框。所以这意味着下载git的安装程序exe并将其放在模块的files子目录中。

package { 'git' :
  ensure => present,
  source => 'puppet:///{yourmodule}/Git-1.8.1.2-preview20130201.exe',
}

一旦在代理上正确安装了git,vcsrepo将使用正确的提供程序(即-git)并拉出你的git repo。