2017-01-05 17 views
5

Tôi sử dụng Vagrant để bắt đầu môi trường thử nghiệm của mình. Đáng buồn là tôi phải lấy thông tin (mật khẩu) trước khi quay lên hộp Vagrant của tôi. Cho đến nay tôi sử dụng Vagrant-Triggers để làm điều này và có nhiều lệnh run "do something".Sử dụng kích hoạt Vagrant để thực thi tập lệnh bash trên máy chủ

[: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 

Làm thế nào tôi có thể di chuyển tất cả các lệnh của tôi thành một tập tin batch mà tôi thì chỉ bao gồm?

NÊN

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

Cảm ơn bạn đã giúp đỡ của bạn!

+2

lý do tại sao bạn không thể chạy các script là 'chạy "Vagrant_trigger_before.sh"' –

Trả lời

3

Bạn có thể chạy script của bạn trực tiếp sử dụng các hướng dẫn run

[:up, :provision].each do |cmd| 
    config.trigger.before cmd, stdout: true do 
     run "Vagrant_trigger_before.sh" 
    end 
end 
Các vấn đề liên quan