Puppet 代理无法从 Git 下载代码

Puppet agent not able download code from Git

我在 ubuntu 14.4 VM 上安装了 Puppet Master。 傀儡代理人 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 上 运行 代理时,我收到以下错误:

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 . . .

所以这里发生了几件事。首先是 git 没有被 puppet 安装。由于代理是一个 windows 框,因此您需要为其提供安装来源。所以这意味着下载 git 的安装程序 exe 并将其放在模块的文件子目录中。

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

在代理上正确安装 git 后,vcsrepo 将使用正确的提供程序(即 - git)并提取您的 git 存储库。