是否可以在不使用任何驱动程序的情况下对服务器运行厨房测试?

时间:2016-11-17 22:54:00

标签: automated-tests chef chef-recipe test-kitchen serverspec

我只是想看看是否可以针对始终打开的服务器运行厨房测试。

我知道对你可以随意创建和销毁的虚拟机测试cookbook是理想的,但我希望有一些简单的方法可以使用WinRM或SSH对一个盒子进行聚合和运行测试。

3 个答案:

答案 0 :(得分:2)

我假设您要使用Serverspec或InSpec运行测试。这取决于验证者,pieChart.setUsePercentValues(true);的{​​{1}}和driver部分是可选的。如果您跳过它们provisioner将使用.kitchen.yml驱动程序。因此,没有驱动程序test-kitchen将如下所示:

dummy

如果验证者支持ssh或winrm,您可以运行kitchen list。 Serverspec验证程序can执行此操作,Inspec verifier can do it as well

但是,如果你想在机器上运行测试,我不确定是否需要整个测试厨房。 InSpecServerspec都可以独立运行。

答案 1 :(得分:2)

你可能想要proxy driver

driver:
  name: proxy
  host: testserver.example.com

请记住,测试之间没有隔离,这是一件非常糟糕的事情。

答案 2 :(得分:1)

你提到,"没有使用任何驱动程序?"根据{{​​3}}:

  

此文件使用Vagrant作为驱动程序,不需要额外配置,因为它是Kitchen使用的默认驱动程序

似乎没有办法避免使用驱动程序。但是,只要您不运行任何创建或销毁命令,您就可以不断重新收集和测试。

如果你继续下去,我认为记住两件事是很重要的:

  1. 您正在使用the Kitchen documentation工具,因此未来的更改可能会破坏您的工作流程,而不是典型的用户工作流程。

  2. 你并没有真正测试厨师在新建筑上的表现;如果您可以从未知的当前状态进入所需状态,那么您只会进行测试。如果你不经常测试它,你很可能无法从头开始构建服务器。

  3. 如果您只想汇聚并运行测试,请考虑以独立方式运行现有测试工具。