我们正致力于从源代码构建PHP的厨师食谱。但是,每次我们对配方进行更改并且我们想再次运行它需要很长时间(大约20分钟)。
我们一直在做的是使用以下方式进行更改:
vagrant destroy
接下来是:
vagrant up
如果以某种方式我们可以重新运行我们正在尝试更新的单一食谱,那将是很好的。
任何人都知道我们怎么做到这一点?或者vagrant如何确定我们的php配方已经安装/执行了?
答案 0 :(得分:20)
vagrant provision
应该为你做这件事。厨师应该只负责运行需要运行的东西...就像更改的食谱一样。
答案 1 :(得分:5)
您可以使用:
vagrant provision
这将重新运行配置步骤,执行vagrant ssh
并启动Chef。
如果您将Chef服务器与chef-client一起使用,则需要在进行本地修改后使用knife将菜谱上传到服务器。然后,在vagrant机器上的chef-client将下载更改的文件。
如果您使用Chef Solo,则可以与VM共享文件夹,因此将立即获取所做的更改,而不必将其复制到VM。