2013-06-29 39 views
10

Tôi đang cố tinh chỉnh Vagrantfile của mình để nó tự động tạo thư mục trong thư mục gốc của dự án nếu thiếu. Tạo thư mục không có vấn đề gì, nhưng tôi đang gặp sự cố khi tìm ra nơi để tạo thư mục đó.Tìm thư mục Vagrantfile

Tôi đã có thể nhận ra rằng thông tin này có sẵn trên một đối tượng Vagrant::Environmentcwd, nhưng tôi không thể tìm ra cách để lấy cá thể hiện tại từ bên trong Vagrantfile của tôi. Tài liệu cho Vagrant có vẻ hơi thưa thớt.

Chỉnh sửa:

Câu hỏi của tôi không phải là về cách sử dụng Con rối. Tôi đang viết một số mã số bên trong Vagrantfile. Tôi muốn biết cách tải phiên bản hiện tại của Vagrant::Environment.

+0

Bạn có thể cho một ví dụ tốt về những gì bạn đang cố gắng để làm gì? –

+0

Tôi đã đề cập đến phương pháp tôi muốn gọi, tôi chỉ không biết làm thế nào để có được thể hiện hiện tại của lớp. –

Trả lời

18

Để tìm thư mục Vagrantfile thử này trong Vagrantfile:

vagrant_root = File.dirname(__FILE__) 
0

Theo mặc định, thư mục gốc là /home/vagrant

Đây là một ví dụ để tạo new_folder sử dụng vagrant dùng

exec { 'create folder': 
    cwd  => '/home/vagrant', 
    user => 'vagrant', 
    command => 'mkdir new_folder', 
    unless => "/usr/bin/test -d /home/vagrant/new_folder", 
    } 
+0

Câu hỏi của tôi không phải là rối bù. –

+0

'/ home/vagrant' là trên máy ảo, và nó không phải (thông thường), nơi bạn sẽ tìm thấy Vagrantfile. Tôi nghĩ rằng OP đang hỏi về thư mục mà Vagrantfile đang ở trên máy chủ ***, vì vị trí của nó trên máy ảo chỉ ở đó nhờ vào việc chia sẻ/đồng bộ thư mục. – iconoclast

0

Tôi không chắc chắn đối tượng Vagrant::Environment đây là những gì ... nó có vẻ là không có cơ sở ...

Nếu tôi muốn tạo thư mục mới trong cùng thư mục với số Vagrantfile Tôi chỉ sử dụng trình cung cấp trình bao:

config.vm.provision :shell, :inline => "mkdir -p /vagrant/test_folder;" 

Nếu bạn muốn thư mục có chứa các Vagrantfile trên máy chủ của bạn sau đó thử đặt này trong Vagrantfile của bạn:

puts Dir.pwd 

Điều đó sẽ in thư mục ... như vậy thì bạn có thể thử làm việc với biến đó.

+2

Dir.pwd sẽ cung cấp cho các gốc lang thang khi trong thư mục gốc, nhưng nếu trong một subdir, nó sẽ cung cấp cho điều đó. – patcon

Các vấn đề liên quan