Vagrant 中高效的 Puppet 模块管理 【已翻译100%】

到现在我还记得首次尝试使用vagrant和puppet这两个工具来准备本地开发环境时候的场景。找出适当的方式来捆绑puppet模块与项目后一切都是很容易做到。基本上它可以通过三步阶段来实现。

1.运行"puppet module install "并将它们添加到 git repo (不是最棒的主意但相对简单)。

2.在项目中把puppet模块作为 git 的子模块添加好。这原来是更加麻烦,添加/删除/更新模块成为了真正的痛苦。

3.作为它们的依赖项 使用 puppet-librarian来 管理 puppet 模块。

第三个选项应该是最好的方法啦...我们可以现在只需简单地在“Puppetfile”里面就可以添加、 删除或者升级“puppet”的模块版本,运行"librarian-puppet install"功能就可以安装好模块。但有一点要警告说明的是用户只在他们自己的宿主机器上安装“rubygems”打包系统会带来其他的麻烦。既然这样当这种情况发生且必须要马上被处理的时候用户为什么不能只在vagrant盒子里面安装那些模块?

Vagrant.configure("2") do |config|
  config.vm.synced_folder ".", "/home/vagrant/my-project", :nfs => true
  
  config.vm.provision "shell", inline: "gem install librarian-puppet"
  config.vm.provision "shell", inline: "cp /home/vagrant/my-project/Puppetfile /tmp"
  config.vm.provision "shell", inline: "cd /tmp && librarian-puppet install --verbose"
  
  config.vm.provision "puppet" do |puppet|
    puppet.temp_dir = "/tmp"
    puppet.options = ['--modulepath=/tmp/modules']
  end
end

向虚拟机中的项目根路径里面增加“Puppetfile”文件和安装当运行“puppet”应用时指向模块目录的模块时,这种方法都是有效的。而且无论开发者熟悉“rubygems”打包系统与否和在跨多种应用环境时都能保持同样的安装效果,这种方法也同样作用很大。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值