来自Vagrant的Ansible开始任务

时间:2018-04-05 23:34:52

标签: vagrant ansible environment-variables vagrant-provision

是否有方法在Vagrantfile中使用Ansible的start-at-task?我想指定开始进行调试的确切任务。我意识到主机变速器将丢失,这很好。其他类似的问题似乎并没有提出这个问题。

一个想法是设置一个ENV_VAR,Vagrant填充它并将其传递给playbook。即:

# export START_TASK='task-name'
# Run: "vagrant provision --provision-with resume"

  config.vm.provision "resume", type: "ansible_local" do |resume|
    resume.playbook = "playbooks/playbook.yml --start-at-task=ENV['START_TASK']"
  end

playbook命令不解析env_var,但我实际上是在尝试运行该命令。我基本上只是试图解析env_var并将其传递给Vagrant ansible provisioner。

注意:Playbook上的@retry仅重新运行该单个主机的整个失败的playbook而不仅仅是一个命令,因此不是解决方案。

1 个答案:

答案 0 :(得分:0)

只需要添加以下内容,我无法在Vagrant的文档中找到它。

resume.start_at_task = ENV['START_AT_TASK']