调试厨师食谱没有流浪汉破坏和重新提供

时间:2012-03-08 22:20:46

标签: chef vagrant

我们正致力于从源代码构建PHP的厨师食谱。但是,每次我们对配方进行更改并且我们想再次运行它需要很长时间(大约20分钟)。

我们一直在做的是使用以下方式进行更改:

vagrant destroy

接下来是:

vagrant up

如果以某种方式我们可以重新运行我们正在尝试更新的单一食谱,那将是很好的。

任何人都知道我们怎么做到这一点?或者vagrant如何确定我们的php配方已经安装/执行了?

2 个答案:

答案 0 :(得分:20)

vagrant provision应该为你做这件事。厨师应该只负责运行需要运行的东西...就像更改的食谱一样。

答案 1 :(得分:5)

您可以使用:

vagrant provision

这将重新运行配置步骤,执行vagrant ssh并启动Chef。

如果您将Chef服务器与chef-client一起使用,则需要在进行本地修改后使用knife将菜谱上传到服务器。然后,在vagrant机器上的chef-client将下载更改的文件。

如果您使用Chef Solo,则可以与VM共享文件夹,因此将立即获取所做的更改,而不必将其复制到VM。