puppet模块使用命令而不是vagrant配置

时间:2017-10-19 11:28:45

标签: vagrant puppet devops provisioning

我有一个项目,他们使用Vagrant配置来加载puppet模块。这些模块在项目内的目录中可用,其中大多数都是git项目。

我是初学者,使用木偶,我问是否有办法在不使用流浪汉条款的情况下安装这些模块。 我可以一个一个地安装它们,我试过这个但模块是耦合的,我认为有一种方法可以一次安装它们

请帮忙!

1 个答案:

答案 0 :(得分:0)

我通常按以下方式工作:从Vagrantfile,我有一个脚本,它将直接在VM中安装我的所有木偶模块 - 在Vagrant文​​件中,类似:

config.vm.provision "shell", path: "script/install-puppet-modules.sh"

我的脚本文件将是:

#!/bin/bash

mkdir -p /etc/puppet/modules;

if [ ! -d /etc/puppet/modules/example42-perl ]; then
  puppet module install example42-perl --version 2.0.20
fi

if [ ! -d /etc/puppet/modules/puppetlabs-apache ]; then
  puppet module install puppetlabs-apache --version 1.5.0
fi

if [ ! -d /etc/puppet/modules/puppetlabs-java ]; then
  puppet module install puppetlabs-java --version 1.4.1
fi

所以我不需要在我的项目目录中维护模块,当它安装模块时,它将安装所有依赖项和指定的版本。