Что касается нашего веб-стека, мы переходим с Windows Server на CentOS. Чтобы облегчить разработку, мы используем Vagrant для локального запуска виртуальных машин CentOS. Мы используем Vagrant Синхронизированные папки функция, позволяющая разработчикам использовать свои любимые IDE на своем хост-компьютере, но мы обнаружили, что в этой настройке отсутствует одна ключевая функция: чувствительность к регистру в файловой системе.
Синхронизируемая папка внутри виртуальной машины, по-видимому, принимает свойства файловой системы хоста, поэтому, если я разрабатываю с машины Windows или даже OSX, файловая система не чувствительна к регистру. Это большая проблема, так как наши производственные серверы будут чистыми CentOS, а его файловая система воля быть чувствительным к регистру.
Чувствительность к регистру - одна из основных причин, по которой мы хотели иметь локальную виртуальную машину. Мы хотим предотвратить "Работает на моей машине!"
Некоторые обходные пути, которые мы рассмотрели или попробовали:
Есть ли способ лучше? Обратите внимание, что у нас есть разработчики, использующие Windows, OS X и Ubuntu, и решение должно работать везде.
Я решил проблему в OS X, создав разреженный образ диска в папке моего проекта и отформатировал его с учетом регистра.
После установки разреженного образа я переместил на него свой код. Затем заменил исходную папку "src" символической ссылкой / псевдонимом на смонтированный образ. Таким образом, общая папка чувствительна к регистру внутри гостевой ОС.
Определенно не самое элегантное решение, но оно сокращает разрыв между средой развертывания и разработки, поэтому я в первую очередь начал использовать Vagrant.
Возможно, аналогичный обходной путь может работать и для Ubuntu и Windows?
Я столкнулся с той же проблемой, и способ ее решения - получить рабочий каталог на виртуальной машине через git clone и добавить общий ресурс Samba, указывающий на него, что делает его доступным как на Windows, так и на Mac.