我有一个用于部署应用程序的厨师食谱。每次运行配方时,它都会创建一个新的“ release”(具有当前时间戳)目录,并删除较旧的“ release”目录,仅留下5个最新的“ release”目录。 (类似于Capistrano的keep_releases的工作方式)。
要测试该功能,我需要运行“部署”配方6次,并验证是否只有5个“发布”目录。看来我不能多次在run_list中使用相同的配方。
有任何想法吗?
谢谢!
最佳答案
更新2019:如https://docs.chef.io/config_yml_kitchen.html中所述使用multiple_converge
旧解决方案:
您可以使用重复的套件名称将节点收敛两次(或多次)。
例如在您的.kitchen.yml中运行两次“默认”套件:
suites:
- name: default
run_list:
- recipe[your-cookbook::recipe]
attributes:
- name: default
run_list:
- recipe[your-cookbook::recipe]
attributes:
但是,也许您想使用ChefSpec对其进行测试,而不必每次都收敛一个节点。
Tested with test-kitchen 1.4.0 + kitchen-vagrant 0.18.0