我有一个厨师食谱,我用它来部署一个应用程序。每次配方运行时,它都会创建一个新的"发布" (使用当前时间戳)目录并删除旧版"发布"目录只留下最近的5个"发布"目录。 (类似于Capistrano&keep_releases的工作方式)。
要测试该功能,我需要运行我的" deploy"配方6次并确认只有5"释放"目录。似乎我不能在run_list中多次使用相同的配方。
有什么想法吗?
谢谢!
答案 0 :(得分:3)
您可以使用重复的套件名称将节点聚合两次(或更多次)。
e.g。在你的.kitchen.yml中运行两次“默认”套件:
$("#login-btn").on("click", function (evt) {
$("#login-error-message").hide();
$.ajax({
method: "post",
url: "auth.php",
data: {
"username": $("#username").val(),
"password": $("#password").val()
}
}).done(function (data, statusText, xhr) {
if (xhr.status === 200 || xhr.status === 204) {
setTimeout(function () {
location.href = "index.php";
}, 5000);
}
});
$("#login-error-message").show();
});
但是,您可能希望使用ChefSpec来测试它,而不必每次都聚合一个节点。
答案 1 :(得分:2)
现在,Test Kitchen中的预配器中有一个选项,允许您运行多个融合。
以下预配器配置将告诉Chef收敛3次:
//I would like to try this below
foreach(var file in files)
{
string filename = file.Name;
bool does_it_exist = File.Exists(C:\\,filename);
Console.WriteLine(does_it_exist);
}
答案 2 :(得分:0)
如果您使用Kitchen Dokken来测试您的菜谱,则在节点融合后,只需简单地再次进行“厨房融合”即可。在聚合节点上再次运行Chef-client很像。