如何加快我的木偶模块开发测试周期?

olo*_*ore 8 puppet vagrant

我正在寻找一些关于如何在编写新的木偶模块时提高工作效率的最佳实践.我的工作流程现在看起来像这样:

  1. 流浪汉
  2. 进行更改/修复
  3. 流浪者提供
  4. 找出错误/错误,GOTO 2

在我完成所有错误/错误之后:

  1. 流浪汉毁灭
  2. 流浪汉
  3. 确保一切正常
  4. 提交我的更改

这太慢了......我怎样才能让这个工作流程变得更快?
我否认为傀儡编写测试.我还有什么其他选择?

mes*_*chs 14

  • 使用vagrant-cachier插件缓存主机上的apt/yum存储库
  • 使用profile -evaltrace来查找完全配置的时间
  • 使用包基分布:
    • 例如:rvm install ruby-2.0.0vs pre-compiled ruby packagefpm创建的
    • 避免"wget the internet and compile"方法
    • 这可能会使您的配置更加可重复和更快速.
  • 不要编码模块
    • 尝试重用一些来自forge/github/...
    • 请注意,它可能违背我以前的建议
  • 如果这是一个选项,请升级你的puppet/ruby版本
  • 迭代并阻止完全配置
    • 流浪汉
    • 流浪者提供
    • 修改清单/模块
    • 流浪者提供
    • 修改清单/模块
    • 流浪者提供
    • 流浪汉毁灭
    • 流浪汉
    • 启动服务器规范
  • 最小化类型命令
    • 修改文件时启动命令
    • 您可以设置guard以在保存时启动lint/test/spec/provision
    • 您还可以使用vagrant-notify从guest 虚拟机向主机发送通知
  • 没有实际配置的情况下进行测试
  • 测试您的配置而不是手动检查
    • 停止vagrant ssh检查服务是否正在运行或配置是否具有给定值
    • 启动服务器规范
    • 看看烧杯
  • 委托将测试运行到您首选的ci服务器(jenkins,travis-ci,...)
  • 如果你有点傀儡...请看看ansible
    • 易于设置(无需安装/编译ruby)
    • 您可以选择要使用标签运行的部分内容
    • 你可以通过同步文件夹分享剧本,并在当地的流浪盒中运行ansible(没有librairian-puppet发布)

更新:与@garethr讨论后,看一看他关于后卫的最后一次演讲.