Системні синхронізовані папки не відрізняються від регістру


10

Для нашого веб-стека ми переходимо від сервера Windows до CentOS. Щоб полегшити розвиток, ми використовуємо Vagrant для запуску віртуальних комп'ютерів CentOS локально. Ми використовуємо функцію синхронізованих папок Vagrant, щоб дозволити розробникам використовувати свої улюблені IDE на своїй хост-машині, але ми виявляємо, що в цій настройці відсутня одна ключова функція: чутливість до файлової системи.

Синхронізована папка всередині VM, очевидно, набуває властивостей файлової системи хоста, тому якщо я розробляюсь із машини Windows або навіть OSX, файлова система не відрізняється від регістру. Це велика проблема, оскільки наші виробничі сервери будуть чистим CentOS, а його файлова система буде враховувати регістри.

Чутливість до справи є однією з головних причин, за якими ми хотіли мати локальну машину управління. Ми хочемо запобігти "Це працює на моїй машині!"

Деякі способи вирішення, які ми розглянули чи спробували:

  • Використовуйте lsyncd для синхронізації із бродячого спільного доступу до місця у ВМ, яке залежно від регістру
    • оновлення файлів на хості, здається, не генерує події в VM, які lsync слухає
  • Зробіть розділовий регістр на хості
    • (Не працює для Windows)
  • Використовуйте самбу
    • це може бути варіант, але ми ще не перевірили його.

Чи є кращий спосіб? Зауважте, що у нас є розробники, що використовують Windows, OS X та Ubuntu, і рішення потрібно працювати скрізь.


Хороший запитання, але занадто орієнтований на розвиток для SF Я відчуваю - ви, можливо, матимете більше удачі на Stack Overflow, позначили міграцію :)
Craig Watson

1
Чесно кажучи, я вважаю, що він не належить до ПЗ, оскільки факт, що це для розвитку, в значній мірі не має значення; питання стосується чутливості до файлової системи, оскільки вона стосується бродячих гостей та господарів.
фоеб

Відповіді:


6

Я вирішив проблему на OS X, створивши в моїй папці проекту рідке зображення диска і відформатував його, щоб залежно від регістру.

Після монтажу розрідженого зображення я перемістив на нього свій код. Потім замінили оригінальну папку "src" на символьне посилання / псевдонім до змонтованого зображення. Таким чином, загальна папка чутлива до регістру всередині гостьової ОС.

Безумовно, не найелегантніше рішення, але воно закриває розрив між середовищем розгортання та розробкою, тому я почав використовувати Vagrant в першу чергу.

Можливо, подібне вирішення могло б працювати і для Ubuntu та Windows?


У Windows взагалі немає файлової системи з урахуванням регістру.
Майкл Хемптон

Дякую, Джейсон. Я вважав це, і він буде працювати на моєму mac та ubuntu, але не працює для Windows. Це також додає крок вручну для створення середовища розробок, який я сподівався сценарію повністю за допомогою бродячого / шеф-кухаря. Можливо, іншого варіанту не може бути.
Скотт Колдвелл

2
Чутливість до справи - одна з головних причин, коли я звернувся до Вагранта після багатьох років використання MAMP, тому я дуже розчарований, що це залишається проблемою. Я не можу повірити, що це не викладено чіткіше в документах Вагранта.
Jason Suave

3
@JasonSuave Проблема полягає фактично у VirtualBox і тому, що він використовує для кріплень, а не Vagrant. Vagrant контролює лише кріплення VirtualBox. У вас може бути різний досвід роботи з VMWare ... Я не пробував.
Бред

0

Я зіткнувся з тією ж проблемою, і спосіб вирішення цього питання я отримав, працюючи в каталозі VM через клон git і додавши долю Samba, вказуючи на неї, роблячи її доступною як для Windows, так і для Mac.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.