我有一个用于部署应用程序的厨师食谱。每次运行配方时,它都会创建一个新的“ 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

10-04 14:52
查看更多