测试厨师食谱的最佳做法?


Answers:


7

您可能(也)为此寻找Vagrant
一个视频是展示如何使用流浪汉,厨师食谱的组合。在Opscode网站上有一个专门的页面供Vagrant和Chef使用(更新2015-01-23:该页面已消失...)。


3

cucumber-chef红宝石宝石,还有最近发行的一本书Nelson-Smith等人-“利用厨师进行测试驱动的基础架构”,该书利用了该宝石-http: //www.cucumber-chef.org/

刚刚从我的github监视列表中记住了这一点:https : //github.com/gregretkowski/vmth/

VMTH(虚拟机测试工具)提供了一种对基础架构自动化进行单元测试的机制-人偶策略,厨师食谱,发布部署脚本等。它使用现代VM监视器(例如qemu)的功能来快照系统状态,然后重置每次测试后的状态,以便可以快速连续地对VM实例执行一系列测试



1

这里的一些答案似乎有些陈旧。对于CI和本地测试,我会考虑利用诸如Test Kitchen之类的测试工具,如果您已经使用过它,它也支持Vagrant。

它将使您能够对当今的许多云和虚拟化解决方案运行您的cookkooks:EC2,Digital Ocean,Vagrant,Docker等。

它还具有插件,使您可以运行当今存在的许多基础结构测试工具之一:

  • serverspec-最受欢迎的测试框架。
  • 高斯 -YAML,简单,自包含的二进制文件,非常快。
  • inspec-将其视为serverspec的改进(由厨师们编写)。
  • testinfra-基于Python的服务器测试框架。

0

以我的经验,真正做到这一点的唯一方法是在临时环境和谨慎的开发实践中。模拟要完成的实际工作非常混乱且脆弱,并且在提交或推送上运行的CI测试套件在编写和维护方面付出了很多努力(尽管Chef在这方面可能比Puppet好很多,这是我的主要经验) ),并花费大量的时间来运行。

编辑

就在我写完这篇文章之后,我突然意识到,有一种方法可以使用联合文件系统和大量的脚手架对厨师/人偶食谱进行相当有效的“单元”测试。但是,我找不到任何人已经在此区域中完成的任何操作。我可能刚刚发现自己是一个项目。


测试基础架构本身非常重要。自然地,有许多方法要实现,这与软件方法略有不同,即功能性和非功能性。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.