我正在尝试做初步工作,让我们的开发商店在开发过程中开始使用 vagrant + puppet。在我的 puppet manifest 开发的这个阶段,我需要安装几个 RPM,这些 RPM 可以通过具有非常特定标志('--nodeps')的内部 http 服务器(不是 repo)获得。
因此,这是我需要安装的示例:
http://1.2.3.4/bar/package1.rpm
http://1.2.3.4/bar/package2.rpm
http://1.2.3.4/bar/package3.rpm
我通常会以这种方式安装它们:
rpm --install --nodeps ${rpm_uri}
我希望能够做这样的事情
$custom_rpms = [
'http://1.2.3.4/bar/package1.rpm',
'http://1.2.3.4/bar/package2.rpm',
'http://1.2.3.4/bar/package3.rpm',
]
# edit: just realized I was instantiating the parameterized
# class wrong. :)
class { 'custom_package': package_file => $custom_rpms }
有了这个模块
# modules/company_packages/manifests/init.pp
define company_package($package_file) {
exec { "/bin/rpm --install --nodeps ${package_file} --nodeps" }
}
但是,我不确定这是否正确。你们中的一些木偶大师(不是双关语)可以教我如何做到这一点吗?