W naszym stosie internetowym przechodzimy z systemu Windows Server do CentOS. Aby ułatwić rozwój, używamy Vagrant do lokalnego uruchamiania maszyn wirtualnych CentOS. Używamy funkcji Synchronizowanych folderów Vagrant, aby umożliwić deweloperom korzystanie z ich ulubionych IDE na ich hoście, ale okazuje się, że w tej konfiguracji brakuje jednej kluczowej funkcji: rozróżnianie wielkości liter w systemie plików.
Zsynchronizowany folder w maszynie wirtualnej najwyraźniej przyjmuje właściwości systemu plików hosta, więc jeśli programuję z komputera z systemem Windows, a nawet OSX, w systemie plików nie jest rozróżniana wielkość liter. To duży problem, ponieważ nasze serwery produkcyjne będą czystym CentOS, a system plików będzie rozróżniał wielkość liter.
Rozróżnianie wielkości liter jest jednym z głównych powodów, dla których chcieliśmy mieć lokalną maszynę wirtualną. Chcemy zapobiec „To działa na moim komputerze!”
Niektóre obejścia, które rozważaliśmy lub wypróbowaliśmy:
- Użyj programu lsyncd, aby zsynchronizować udział Vagrant z lokalizacją w maszynie wirtualnej, która rozróżnia małe i duże litery
- aktualizacja plików na hoście nie wydaje się generować zdarzeń na maszynie wirtualnej, których nasłuchuje lsync
- Utwórz partycję z rozróżnianiem wielkości liter na hoście
- (Nie działa w systemie Windows)
- Użyj samby
- może to być opcja, ale jeszcze tego nie sprawdziliśmy.
Czy jest lepszy sposób? Pamiętaj, że mamy programistów używających Windows, OS X i Ubuntu, a rozwiązanie musi działać wszędzie.