Vagrant 如何加快puppet模块开发测试周期?
我正在寻找一些在编写新的puppet模块时如何提高生产率的最佳实践。我的工作流现在看起来像这样:Vagrant 如何加快puppet模块开发测试周期?,vagrant,puppet,Vagrant,Puppet,我正在寻找一些在编写新的puppet模块时如何提高生产率的最佳实践。我的工作流现在看起来像这样: 流浪汉 进行更改/修复 流浪准备金 查找错误/错误,转到2 在我克服所有错误后,我会: 流浪破坏 流浪汉 确保一切正常 提交我的更改 这太慢了。。。如何使此工作流更快? 我否认为puppet编写测试。我的其他选择是什么?我建议使用。它附带了一个命令行工具(puppetresources),可以计算计算机上的目录并让您检查它们。它有一些在Puppet中找不到的有用功能: 它真的很快(在单个目录上快6
我否认为puppet编写测试。我的其他选择是什么?我建议使用。它附带了一个命令行工具(
puppetresources
),可以计算计算机上的目录并让您检查它们。它有一些在Puppet中找不到的有用功能:
- 它真的很快(在单个目录上快6倍,在许多目录上大约快50倍)
- 它跟踪每个资源的定义位置,以及此时的“类堆栈”是什么,当您有重复的资源时,这非常方便
- 它会自动检查您引用的文件是否存在
- 它比Puppet更严格(例如,在未定义的变量上中断)
- 它允许您将任何文件的内容打印到标准输出,这对于开发复杂模板非常有用
require
未实现。它也只能在Linux上工作。- 使用插件在主机上缓存您的apt/yum存储库
- 使用配置文件–evaltrace查找您全天的空闲时间
- 使用包基础分发:
- 例如:
与使用rvm安装ruby-2.0.0
- 避免“上网并编译”的方法
- 这可能会使您的资源调配更加快速
- 例如:
- 不编码模块
- 尝试重用forge/github/中的一些李>
- 请注意,这可能与我之前的建议背道而驰
- 如果这是一个选项,升级您的puppet/ruby版本
- 迭代并防止完全配置
- 流浪汉
- 流浪准备金
- 修改清单/模块
- 流浪准备金
- 修改清单/模块
- 流浪准备金
- 流浪破坏
- 流浪汉
- 发射
- 最小化键入的命令
- 在修改文件时启动命令
- 您可以设置在保存时启动lint/test/spec/provision
- 您还可以使用从来宾到主机发送通知
- 测试而不在流浪者中实际提供
- (重构模块时非常理想)
- 测试您的资源调配而不是手动检查
- 停止检查服务是否正在运行或配置是否具有给定值
- 发射
- 看看
- 将运行测试的任务委托给您首选的ci服务器(jenkins,travis ci,…)
- 如果你被木偶迷住了。。。看一看
- 易于安装(无需安装/编译ruby)
- 您可以选择要使用标记运行的部分内容
- 您可以通过同步文件夹共享剧本,并在本地“流浪者”框中运行ansible(无需启动图书馆木偶)
更新:与讨论后,查看docker最近关于guard的内容。查看docker是否无法提高性能或简化测试: