Untuk tumpukan web kami, kami pindah dari Server Windows ke CentOS. Untuk memfasilitasi pengembangan, kami menggunakan Vagrant untuk menjalankan CentOS VMs secara lokal. Kami menggunakan fitur Vagrant's Synced Folders untuk memungkinkan devs menggunakan IDE favorit mereka di mesin host mereka, tetapi kami menemukan bahwa satu fitur utama tidak ada pada pengaturan ini: sensitivitas case sistem file.
Folder yang disinkronkan di dalam VM tampaknya mengambil properti sistem file host, jadi jika saya mengembangkan dari mesin Windows, atau bahkan OSX, sistem file tidak peka huruf besar-kecil. Ini adalah masalah besar, karena server produksi kami akan menjadi CentOS murni, dan sistem filenya akan peka terhadap huruf besar-kecil.
Sensitivitas kasus adalah salah satu alasan utama kami ingin memiliki VM lokal. Kami ingin mencegah "Ini berfungsi pada mesin saya!"
Beberapa solusi yang kami pertimbangkan atau coba:
- Gunakan lsyncd untuk menyinkronkan dari berbagi gelandangan ke lokasi dalam VM yang sensitif huruf
- memperbarui file pada host tampaknya tidak menghasilkan peristiwa di VM yang lsync dengarkan
- Buat partisi case-sensitive pada host
- (Tidak berfungsi untuk Windows)
- Gunakan samba
- ini mungkin opsi, tapi kami belum memeriksanya.
Apakah ada cara yang lebih baik? Perhatikan bahwa kami memiliki pengembang yang menggunakan Windows, OS X, dan Ubuntu, dan solusinya perlu bekerja di mana saja.
sumber
Jawaban:
Saya mengatasi masalah pada OS X dengan membuat disk image yang jarang di folder proyek saya dan memformatnya menjadi case-sensitive.
Setelah memasang gambar yang jarang, saya memindahkan kode saya ke sana. Kemudian diganti folder "src" asli dengan symlink / alias ke gambar yang dipasang. Dengan cara ini folder yang dibagikan bersifat case sensitif di dalam OS tamu.
Jelas bukan solusi yang paling elegan tetapi tidak menutup celah antara penyebaran dan lingkungan pengembangan yang mengapa saya mulai menggunakan Vagrant di tempat pertama.
Mungkin solusi yang serupa dapat bekerja untuk Ubuntu dan Windows juga?
sumber
Saya telah mengalami masalah yang sama dan cara saya mengatasinya adalah dengan mendapatkan dengan menjalankan direktori pada VM melalui git clone dan menambahkan share Samba yang menunjuk ke sana sehingga dapat diakses pada Windows atau Mac.
sumber