18

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

我们一直在做的是进行更改,然后使用:

vagrant destroy

其次是:

vagrant up

如果我们能以某种方式重新运行我们正在尝试更新的单个配方,那就太好了。

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

4

2 回答 2

20

vagrant provision应该为你做这个。厨师应该只负责运行需要运行的东西……比如改变食谱。

于 2012-03-09T02:50:58.583 回答
5

您可以使用:

vagrant provision

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

如果您使用的是 Chef Server 和 chef-client,您需要在进行本地修改后使用刀将食谱上传到服务器。然后 vagrant 机器上的 chef-client 将下载更改的文件。

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

于 2012-03-13T01:17:45.727 回答