Para nuestra pila web, estamos pasando de un servidor de Windows a CentOS. Para facilitar el desarrollo, estamos utilizando Vagrant para ejecutar máquinas virtuales CentOS localmente. Estamos utilizando la función Carpetas sincronizadas de Vagrant para permitir que los desarrolladores usen sus IDE favoritos en su máquina host, pero descubrimos que falta una característica clave en esta configuración: la distinción entre mayúsculas y minúsculas del sistema de archivos.
La carpeta sincronizada dentro de la VM aparentemente toma las propiedades del sistema de archivos del host, por lo que si estoy desarrollando desde una máquina Windows, o incluso OSX, el sistema de archivos no distingue entre mayúsculas y minúsculas. Este es un gran problema, ya que nuestros servidores de producción serán CentOS puros y su sistema de archivos será sensible a mayúsculas y minúsculas.
La distinción entre mayúsculas y minúsculas es una de las principales razones por las que queríamos tener una VM local. Queremos evitar "¡Funciona en mi máquina!"
Algunas soluciones alternativas que hemos considerado o probado:
- Use lsyncd para sincronizar desde el recurso compartido vagabundo a una ubicación dentro de la VM que distingue entre mayúsculas y minúsculas
- actualizar archivos en el host no parece generar los eventos en la VM que escucha lsync
- Hacer una partición sensible a mayúsculas y minúsculas en el host
- (No funciona para Windows)
- Usar samba
- Esta puede ser una opción, pero aún no la hemos investigado.
¿Hay una mejor manera? Tenga en cuenta que tenemos desarrolladores que usan Windows, OS X y Ubuntu, y la solución debe funcionar en todas partes.