Vagrant provisioner清理任务的语法?

4
如何在Vagrantfile中定义一个清理任务?
Vagrant 1.3.0版本的发布说明提到添加了一个配置清理选项,但目前还没有任何文档,我尝试了解语法,但没有成功。最相关的源文件似乎是lib/vagrant/action/builtin/provisioner_cleanup.rb

1.3.0(2013年9月5日)
配置程序现在可以定义在vagrant destroy时执行的“清理”任务。[GH-1302]

1个回答

6
这是相关的提交:

https://github.com/mitchellh/vagrant/commit/d4c7e2011018798b642c8bb401d61a401bfda46f

基本上,清理任务必须由提供程序插件定义。目前,虽然没有记录,但只有 chef_client 插件实现了这一点,并且可以使用以下配置选项激活清理:
config.vm.provision "chef_client" do |chef|
  chef.delete_client = true
  chef.delete_node   = true
end

如果你的目标是在主机上定义一个自定义任务,然后运行一个命令,你可以使用这个插件(抱歉自我引用):

https://github.com/emyl/vagrant-triggers


这仍然是当前状态吗?我想在销毁之前在虚拟机上执行一个 shell 脚本。 - Yser
没关系,我找到了你的vagrant-triggers插件中的run_remote命令,正好符合我的需求。非常感谢你提供这个神奇的插件 :) - Yser

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接