Per il nostro stack Web, ci stiamo spostando da un server Windows a CentOS. Per facilitare lo sviluppo, stiamo utilizzando Vagrant per eseguire VM CentOS localmente. Stiamo usando la funzione Cartelle sincronizzate di Vagrant per consentire agli sviluppatori di utilizzare i loro IDE preferiti sul loro computer host, ma stiamo scoprendo che manca una caratteristica chiave di questa configurazione: la distinzione tra maiuscole e minuscole del file system.
La cartella sincronizzata all'interno della VM apparentemente assume le proprietà del file system dell'host, quindi se sto sviluppando da un computer Windows o persino OSX, il file system non fa distinzione tra maiuscole e minuscole. Questo è un grosso problema, poiché i nostri server di produzione saranno CentOS puri e il suo file system sarà sensibile al maiuscolo / minuscolo.
La distinzione tra maiuscole e minuscole è uno dei motivi principali per cui volevamo avere una VM locale. Vogliamo impedire "Funziona sulla mia macchina!"
Alcune soluzioni alternative che abbiamo considerato o provato:
- Utilizzare lsyncd per sincronizzare dalla condivisione vagabonda a una posizione all'interno della VM con distinzione tra maiuscole e minuscole
- l'aggiornamento dei file sull'host non sembra generare gli eventi nella VM che ascolta lsync
- Crea una partizione con distinzione tra maiuscole e minuscole sull'host
- (Non funziona per Windows)
- Usa la samba
- questa potrebbe essere un'opzione, ma non l'abbiamo ancora verificata.
C'è un modo migliore? Tieni presente che gli sviluppatori utilizzano Windows, OS X e Ubuntu e la soluzione deve funzionare ovunque.