博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vagrant 中高效的 Puppet 模块管理 【已翻译100%】
阅读量:6311 次
发布时间:2019-06-22

本文共 1075 字,大约阅读时间需要 3 分钟。

到现在我还记得首次尝试使用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']  endend

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

转载地址:http://tjoxa.baihongyu.com/

你可能感兴趣的文章
《中国人工智能学会通讯》——7.17 篇章语义分析方法概述
查看>>
人工智能爆发 投资者纷纷涌入创业企业
查看>>
Radware:金融机构如何应对日益猖獗的网络攻击
查看>>
Java中注释的使用是有原则的
查看>>
SanDisk研发32nm工艺最小尺寸NAND闪存
查看>>
阿里云推视频云解决方案 窄带高清省流量
查看>>
加速老旧Ubuntu系统的九大技巧
查看>>
数据中心集约化发展的“大小精灵”
查看>>
大数据难懂?从奥巴马竞选中轻松读懂大数据
查看>>
GitHub上十个最流行的安全项目
查看>>
前端任务构建利器Gulp.js使用指南
查看>>
公司如何组建数据部门?三种数据部门架构优与劣
查看>>
走进大数据之拓扑数据分析方法
查看>>
编程思想之多线程与多进程系列(上)
查看>>
我是如何击败Java自带排序算法的
查看>>
Gartner::未来五年有颠覆性的IT技术都在这里
查看>>
开发一个Linux调试器(五):源码和信号
查看>>
Python中的垃圾回收机制
查看>>
企业大数据分析实践指南、总结与展望
查看>>
智能家庭本周锋闻:属于未来的Apple Watch
查看>>