用 Vagrant 测试厨师食谱
Testing chef cookbooks with Vagrant
我想使用 Vagrant 在不同的环境中测试我的食谱。
正如我所发现的,有 chef-client and chef-solo 个配置器,分别用于从 chef-server
下载说明书和在本地提供说明书。
我想在每本说明书中提供 Vagrantifle
,以便为所有 knife
开发人员提供测试它的方法。如果 cookbook 是独立的,我只会使用 chef-solo
provisioner,但是如果它有(多个)存储在 chef-server
上的 cookbook 依赖项怎么办?
解决此问题的最佳方法是什么:
- 在本地下载所有食谱并将其复制到 Vagrant
- 仅推送经过测试的食谱并从 chef-server 下载其余内容
优点和缺点是什么?我应该如何在不同的系统上测试我的食谱?
这确实是 Test Kitchen 的用途。它有一个 Vagrant 驱动程序,或者您可以通过另一个驱动程序插件使用几乎任何其他 VM/cloud 系统。它与 Berkshelf 和 Policyfile 系统集成以处理依赖项管理,因此您可以使用其中之一(希望您已经是)。
我想使用 Vagrant 在不同的环境中测试我的食谱。
正如我所发现的,有 chef-client and chef-solo 个配置器,分别用于从 chef-server
下载说明书和在本地提供说明书。
我想在每本说明书中提供 Vagrantifle
,以便为所有 knife
开发人员提供测试它的方法。如果 cookbook 是独立的,我只会使用 chef-solo
provisioner,但是如果它有(多个)存储在 chef-server
上的 cookbook 依赖项怎么办?
解决此问题的最佳方法是什么:
- 在本地下载所有食谱并将其复制到 Vagrant
- 仅推送经过测试的食谱并从 chef-server 下载其余内容
优点和缺点是什么?我应该如何在不同的系统上测试我的食谱?
这确实是 Test Kitchen 的用途。它有一个 Vagrant 驱动程序,或者您可以通过另一个驱动程序插件使用几乎任何其他 VM/cloud 系统。它与 Berkshelf 和 Policyfile 系统集成以处理依赖项管理,因此您可以使用其中之一(希望您已经是)。