2017-01-05 3 views
5

Я использую Vagrant для запуска своей тестовой среды. К сожалению, я должен получить информацию (пароли), прежде чем разворачивать свой бродячий ящик. Пока я использую Vagrant-Triggers для этого и имею несколько команд run "do something".Использовать триггер Vagrant для выполнения сценария bash на хосте

IS

[:up, :provision].each do |cmd| 
    config.trigger.before cmd, stdout: true do 
     run "rm -rf #{cookbooks_path}" 
     run "mkdir -p #{cookbooks_path}" 
     run "touch fileX" 
     run "touch fileY" 
     run "touch fileZ" 
    end 
end 

Как я могу переместить все мои команды на один пакетный файл, который я тогда только включают?

ДОЛЖНА

[:up, :provision].each do |cmd| 
    config.trigger.before cmd, stdout: true do 
     include_script "Vagrant_trigger_before.sh" 
    end 
end 

Спасибо за вашу помощь!

+2

почему вы не можете запустить скрипт как 'запуска«Vagrant_trigger_before.sh»' –

ответ

3

Вы можете запустить скрипт непосредственно с помощью run инструкции

[:up, :provision].each do |cmd| 
    config.trigger.before cmd, stdout: true do 
     run "Vagrant_trigger_before.sh" 
    end 
end