Crie aliases no host durante o vagrant up usando triggers-vagrant

1

Espero que alguém possa me ajudar aqui.

Eu estou querendo criar aliases na minha máquina local (host) ao executar vagrant up . Através da minha pesquisa pelo comando vagrant run no host , encontrei o vagrant-triggers plug-in. A partir da superfície, parece fazer exatamente o que eu quero (executar um script / comando na máquina host durante o processo de provisionamento do vagrant), no entanto, não consegui fazê-lo funcionar com sucesso.

Abaixo está o meu código de exemplo. Não recebo nenhum erro, mas os aliases não estão disponíveis no host.

Vagrant.configure("2") do |config|
  # Your existing Vagrant configuration
  ...

  # start vagrant-triggers example code
  {
    :up => [
      'alias runscript="$(PWD)/script"',
      'alias runscript2="$(PWD)/script2"'
    ],
    [:halt, :destroy] => [
      'unalias runscript',
      'unalias runscript2'
    ]
  }.each do |trigger, commands|
    config.trigger.after trigger, :stdout => true do
      commands.each do |command|
        run command
      end
    end
  end

  ...
end
    
por galenandrew 22.10.2014 / 20:20

1 resposta

0

Os comandos são executados em uma sub-shell do processo vagrant , e os aliases estão disponíveis apenas para essa subconsulta, não para nenhum dos processos pai. Então você precisaria, por exemplo, escrever scripts auxiliares em um diretório que você colocou no PATH .

    
por 29.10.2014 / 15:44

Tags