Thư mục được đồng bộ hóa Vagrant không phân biệt chữ hoa chữ thường


10

Đối với ngăn xếp web của chúng tôi, chúng tôi đang chuyển từ Windows Server sang CentOS. Để tạo điều kiện phát triển, chúng tôi sử dụng Vagrant để chạy máy ảo CentOS cục bộ. Chúng tôi đang sử dụng tính năng Thư mục được Đồng bộ hóa của Vagrant để cho phép các nhà phát triển sử dụng các IDE yêu thích của họ trên máy chủ của họ, nhưng chúng tôi thấy rằng một tính năng chính bị thiếu trong thiết lập này: độ nhạy trường hợp hệ thống tệp.

Thư mục được đồng bộ hóa bên trong VM rõ ràng có các thuộc tính của hệ thống tệp của máy chủ, vì vậy nếu tôi đang phát triển từ máy Windows, hoặc thậm chí OSX, thì hệ thống tệp không phân biệt chữ hoa chữ thường. Đây là một vấn đề lớn, vì các máy chủ sản xuất của chúng tôi sẽ là CentOS thuần túy và hệ thống tệp của nó sẽ phân biệt chữ hoa chữ thường.

Phân biệt chữ hoa chữ thường là một trong những lý do chính khiến chúng tôi muốn có một máy ảo cục bộ. Chúng tôi muốn ngăn chặn "Nó hoạt động trên máy của tôi!"

Một số cách giải quyết chúng tôi đã xem xét hoặc thử:

  • Sử dụng lsyncd để đồng bộ hóa từ chia sẻ mơ hồ đến một vị trí trong VM phân biệt chữ hoa chữ thường
    • cập nhật tệp trên máy chủ dường như không tạo ra các sự kiện trong VM mà lsync lắng nghe
  • Tạo phân vùng phân biệt chữ hoa chữ thường trên máy chủ
    • (Không hoạt động cho Windows)
  • Sử dụng samba
    • đây có thể là một lựa chọn, nhưng chúng tôi chưa xem xét nó.

Có cách nào tốt hơn? Lưu ý rằng chúng tôi có các nhà phát triển sử dụng Windows, OS X và Ubuntu và giải pháp cần phải hoạt động ở mọi nơi.


Câu hỏi hay, nhưng quá định hướng phát triển cho SF Tôi cảm thấy - bạn có thể gặp may mắn hơn với Stack Overflow, đã được gắn cờ để di chuyển :)
Craig Watson

1
Thành thật tôi nghĩ rằng nó không thuộc về SO vì thực tế là điều này là để phát triển phần lớn là không quan trọng; câu hỏi là về độ nhạy trường hợp hệ thống tập tin vì nó liên quan đến khách và máy chủ mơ hồ.
phoebus

Câu trả lời:


6

Tôi đã khắc phục sự cố trên OS X bằng cách tạo một hình ảnh đĩa thưa trong thư mục dự án của tôi và định dạng nó để phân biệt chữ hoa chữ thường.

Sau khi gắn hình ảnh thưa thớt, tôi chuyển mã của mình lên nó. Sau đó thay thế thư mục "src" ban đầu bằng symlink / bí danh cho hình ảnh được gắn. Bằng cách này, thư mục dùng chung có phân biệt chữ hoa chữ thường trong hệ điều hành khách.

Chắc chắn không phải là giải pháp tao nhã nhất nhưng nó thu hẹp khoảng cách giữa môi trường triển khai và phát triển, đó là lý do tại sao tôi bắt đầu sử dụng Vagrant ngay từ đầu.

Có lẽ một cách giải quyết tương tự cũng có thể làm việc cho Ubuntu và Windows?


Windows hoàn toàn không có hệ thống tập tin phân biệt chữ hoa chữ thường.
Michael Hampton

Cảm ơn Jason. Tôi đã xem xét điều này và nó sẽ hoạt động trên mac và ubfox của tôi, nhưng sẽ không hoạt động cho Windows. Nó cũng thêm một bước thủ công để tạo một môi trường dev, mà tôi đã hy vọng kịch bản hoàn toàn sử dụng vagrant / Chef. Có thể không có lựa chọn khác, mặc dù.
Scott Coldwell

2
Độ nhạy trường hợp là một trong những lý do chính khiến tôi chuyển sang Vagrant, sau nhiều năm sử dụng MAMP, vì vậy tôi thực sự thất vọng vì nó vẫn là một vấn đề. Tôi không thể tin rằng điều này không được nêu rõ hơn trong các tài liệu của Vagrant.
Jason Suave

3
@JasonSuave Vấn đề thực sự xảy ra với VirtualBox và những gì nó sử dụng cho các mount, không phải Vagrant. Vagrant chỉ kiểm soát các gắn kết VirtualBox. Bạn có thể có những trải nghiệm khác nhau trên VMWare ... Tôi chưa thử.
Brad

0

Tôi đã gặp phải vấn đề tương tự và cách tôi giải quyết nó bằng cách lấy thư mục làm việc trên VM thông qua git clone và thêm một chia sẻ Samba chỉ vào nó để có thể truy cập được trên cả Windows hoặc Mac.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.