Ми перенесли багато вихідного коду на git і дуже задоволені нашим поточним рішенням. Ми хотіли б, щоб наші файли конфігурації сервера були впорядковані в одній і тій же системі, але є кілька речей, які не працюють так, як ми хотіли б, і я сподіваюся, що хтось може поділитися тут своїм досвідом.
Це питання схоже на Використання контролю версій для файлів конфігурації сервера? , але у нас є деякі особливі вимоги, які не відповідають пропозиціям з цього питання.
Поточна установка використовує субверсію для файлів конфігурації. Відповідне сховище виглядає приблизно так
/ # корінь сховища + - конфігурація www.domain.com/ # для www | \ - тощо / | \ - apache2 / + - конфігурація dev.domain.com/ # для dev | + - тощо / | \ - вибрати / | \ - app1 / | \ - conf / # конфігурація для app1 у програмі Dev \ - staging.domain.com/ # конфігурація для постановки
З підривною роботою це спрацювало б чудово, тому що можна просто перевірити підкаталог сховища. Крім того, ви можете використовувати svn: externals для вказівки на одну загальну структуру для декількох різних налаштувань конфігурації. Нам довелося мати справу лише з файлами .svn у всіх довідкових версіях . З іншого боку, у Git немає svn: зовнішні та розріджені каси завжди вимагають, щоб шлях від кореня до фактичного каталогу був однаковим.
Під час обговорення міграції до git я намагався записати основні вимоги до версії конфігурації сервера:
- ми хочемо лише одного сховища
- має бути можливість легко натиснути зміни на центральний пульт
- набори змін повинні містити справжнього автора
Чи є приємний спосіб мати всю конфігурацію в одному сховищі та мати лише піддоріжку як робочу копію? В даний час я розглядаю два підходи, але хотів спершу поставити це питання тут
- Якщо сховище .git знаходиться у фіксованому місці, наприклад, десь у / var , ми можемо зв’язати підподібний шлях із робочого каталогу "target". Основна проблема: я б не знав про спосіб "посилання" з / etc на інший каталог, щоб лише імпортувати вміст, за винятком посилання на окремі файли
- Я знайшов іншу альтернативу в цьому питанні про те , що передбачає наявність декількох гілок в одному сховищі. Це, безумовно, збільшило б складність, але я міг бачити, як ми намагаємося таким чином.
Використання git на одній машині для управління файлами конфігурації працює чудово, але я вважаю, що повинен бути хтось, хто ним користується так, як ми хотіли б ним користуватися.
Дякую,
Каріем
/
внаслідок дозволів на запис.