如何让测试厨房多次运行相同的厨师食谱?

2024-06-11

我有一个厨师食谱,用于部署应用程序。每次运行该配方时,它都会创建一个新的“release”(带有当前时间戳)目录,并删除旧的“release”目录,仅留下 5 个最新的“release”目录。 (类似于 Capistrano 的 keep_releases 的工作原理)。

为了测试该功能,我需要运行“部署”配方 6 次并验证是否只有 5 个“发布”目录。看来我无法在 run_list 中多次拥有相同的食谱。

有任何想法吗?

Thanks!


2019 更新:使用multiple_converge如中所述https://docs.chef.io/config_yml_kitchen.html https://docs.chef.io/config_yml_kitchen.html

旧的解决方案:

您可以使用重复的套件名称来收敛节点两次(或更多次)。

例如在您的 .kitchen.yml 中运行“默认”套件两次:

suites:
  - name: default
    run_list:
      - recipe[your-cookbook::recipe]
    attributes:
  - name: default
    run_list:
      - recipe[your-cookbook::recipe]
    attributes:

不过也许你想使用ChefSpec https://github.com/sethvargo/chefspec来测试它,而不必每次都收敛一个节点。

使用 test-kitchen 1.4.0 + kitchen-vagrant 0.18.0 进行测试 https://gist.github.com/rmoriz/de64387cc1b1e3bef45f

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让测试厨房多次运行相同的厨师食谱? 的相关文章

随机推荐

  • C++ static_cast 从 float** 到 void**

    刚刚遇到这个 include
  • 从 PDF 转换为 HTML [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 将可见性属性绑定到变量

    我有一个Border with Label里面一个Window
  • 强制枢轴项目在显示之前预加载

    我有一个带有多个 PivotItems 的 Pivot 其中一个包含一个画布 将其项目放置在动态位置 取决于数据 我获取数据 并且可以在用户选择该项目之前将这些项目放置在其位置 这不是第一个枢轴 但是 只有当我选择 PivotItem 时
  • 如何通过ODBC检索Oracle数据库函数的结果?

    我在通过 ODBC 调用 Oracle 存储函数 而不是过程 时遇到问题 我的函数非常简单 它只是连接两个字符串 我可以通过以下方式调用它 rs c execute SELECT add str yogi bubu FROM dual fo
  • 添加/更改 URL 参数并重定向到新 URL

    If the view allURL 中不存在参数 我需要将其与值一起添加到 URL 的末尾 如果它确实存在 那么我需要能够仅更改该值而不创建新的 URL 因为它之前可能有也可能没有其他参数 我找到了这个功能 但我无法让它工作 https
  • Backbone.js 和本地存储。必须指定“url”属性或函数

    我正在提高有关 Backbone js 的知识 并从教程中获取了此代码示例 http bardevblog wordpress com 2012 01 16 understanding backbone js simple example
  • 使用 Sequelize 连接多个联结表

    我有一个包含三个主表的数据库 users teams and folders由两个连接表连接 users teams and teams folders 用户和团队之间以及团队和文件夹之间存在多对多关系 一个用户可以属于多个团队 并且团队可
  • Jquery 选择器中的冒号

    我最近将 jquery 从 1 4 更新到 2 1 并开始出现错误 在我的代码中 我有一部分通过 id 选择元素 jQuery id name 这会产生一个错误 但是之前没有错误 1 4 如果我转义冒号 错误就会消失 他们在最新版本中添加了
  • 使用 CMake 编译时更改头文件位置会导致缺少 vtable 错误

    对于一个大型 C 项目 我需要从 qmake 过渡到 CMake 但是在处理一个玩具示例时 我遇到了一些我不理解的行为 示例代码具有单个头文件 当该头文件移动到子目录中时 我收到 MainWindow 类缺少 vtable 的错误 CMak
  • 在使用 Selenium 和 java 时在网格中应用过滤器后无法选择第一行[棘手的情况]

    我遇到了这种奇怪的情况 找了好久都没有成功 请问这是怎么回事 让我给你解释一下 我正在尝试在网页中创建自动化 我必须输入 动态表中的特定值以及执行 ENTER 事件后 需要选择显示的第一行 运行我的代码后 我得到了这个 但显示的行未被选择
  • 如何使用 formattable 折叠表中的行值组?

    我有兴趣使用以下领域的工具formattableR 包 但我只想在表中显示有更改的地方 也就是说 我想要在kableExtra包通过collapse rows 功能 例如 使用kable and kableExtra 我可以做这个 libr
  • 在特定点停止 CABasicAnimation

    我正在使用创建的旋转动画CABasicAnimation 它旋转一个UIView超过2秒 但我需要能够阻止它UIView被感动了 如果我删除动画 视图将处于与动画开始之前相同的位置 这是我的动画代码 float duration 2 0 f
  • Android 上默认安装哪些字体? [复制]

    这个问题在这里已经有答案了 Android 设备上默认安装哪些字体 我知道关于机器人字体 http www droidfonts com and Roboto https developer android com design style
  • Firebase 在多个域中托管多个目录

    我有以下设置 想知道如何最好地配置 Firebase 托管 我有一个包含 build 目录的存储库 其中包含三个子目录 build a build b build c 我想在 prod 和 dev 中为每个目录提供其自己的域 或域 例如 a
  • 浏览器中的javascript:异步任务执行模型

    我正在尝试集中注意力并了解 javascript 异步在单线程浏览器环境中的工作原理 作为异步 我们可以同时处理计时器和 xhr 请求 现在假设我有类似下面的东西 function doStuff for var i 0 i lt 1000
  • 经典 ASP 网站偶尔会挂起

    我们在 IIS 7 5 上有一个经典的 ASP 网站 用户随机遇到响应缓慢的情况 发生这种情况时 用户在几分钟内无法执行任何操作 这非常令人沮丧 例如 我可以打开主页 然后在类别中单击几次 然后网站就停止响应 我没有注意到网站何时停止响应的
  • LINQ to SQL DataContext 缓存

    我使用 Linq to SQL 作为我的 DAL 层 在单元测试期间我发现我的对象不是从数据库返回 而是从 DataContext 缓存返回 奇怪的是 当对象从缓存返回时 为什么需要单独调用数据库来获取所有字段 不管怎样 我实现了一个 Cl
  • 从另一个组件获取价值 Angular 7

    我必须将组件导航栏和 form diyalog 分开 我想在导航栏中使用 form diyalog 的值 这是我的 navbar ts import Component OnInit from angular core import Men
  • 如何让测试厨房多次运行相同的厨师食谱?

    我有一个厨师食谱 用于部署应用程序 每次运行该配方时 它都会创建一个新的 release 带有当前时间戳 目录 并删除旧的 release 目录 仅留下 5 个最新的 release 目录 类似于 Capistrano 的 keep rel