人们如何测试opsworks cookbook?

duc*_*rth 22 chef-infra aws-opsworks

我使用目前使用Capistrano的乘客对nginx上的铁路应用程序的动态配置实例进行了相当复杂的部署.我试图通过创建堆栈,图层,实例和动态应用程序部署来自动化Opsworks上的整个过程.现有的Opsworks配方都没有接近我所需要的,所以我开始自己定制的烹饪书.我正在尝试使用测试厨房和流浪汉测试它们,但Opsworks烹饪书有太多的自定义依赖项在本地使用.因此,我似乎陷入困境,要么只使用我自己的配方来重新发明轮子,这些配方不依赖于Opsworks烹饪书,或者试图在AWS上测试我的烹饪书,这是缓慢而昂贵的.

是否有人在Opsworks上进行任何自定义菜谱开发,如果是这样,您如何测试它?您是否正在使用任何社区食谱,如果是这样,他们在Opsworks上工作有多痛苦?

Flo*_*uer 6

我们正在使用Opsworks和很多自定义烹饪书,以及流浪汉.虽然测试覆盖范围远非完美,但它的工作非常顺畅,也适用于社区烹饪书.我们的食谱库是公开的:https://github.com/till/easybib-cookbooks

这个回购的有趣部分是:

浏览我们的食谱应该会为您的问题提供更多提示.我们用Travis测试我们的食谱,并且根本不测试opsworks烹饪书.虽然我必须注意到我目前正在那里玩一些想法如何将它们集成到我们的测试运行中,因为没有他们的提供者,测试我们的部署cookbook几乎是不可能的.


img*_*gry 6

Opsworks现在支持Chef 11.10和Berkshelf(http://berkshelf.com/)来管理依赖关系,这使得使用自定义菜谱.许多.更轻松.

我和Vagrant&Chef Solo的Test Kitchen(https://github.com/test-kitchen/test-kitchen)对本地测试非常满意.

此外,您可以从堆栈设置页面手动运行Opsworks堆栈上的特定配方.看看这里:http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-manual.html.

您还可以在Opsworks部署期间使用一些自定义JSON运行cookbook测试:http://docs.aws.amazon.com/opsworks/latest/userguide/troubleshoot-debug-test.html