Мы планируем ввести контроль версий для нашей команды серверов, чтобы мы могли хранить наши файлы конфигурации и код в чистоте.
Серверная база - это в основном Windows с некоторым количеством Linux и разбросаны по нескольким континентам. Поскольку основная цель проекта - взять под контроль (без каламбура) распространение сценариев конфигурации и поддерживать файлы конфигурации в чистоте.
Мне интересно, есть ли какие-то лучшие практики для структурирования репозитория. К сожалению, мой гугл-фу меня здесь не подводит. Приносим извинения, если об этом уже спрашивали.
Я могу начать с двух репозиториев: «сценарии» и «файлы конфигурации», а затем создавать подкаталоги по мере продвижения. Однако я убежден, что это уже делалось много раз и я не хотел бы повторять чужие ошибки. Существуют ли какие-либо хорошие правила для организации данных в каталогах «скрипты» и «файлы конфигурации»?
Что касается выбора системы управления версиями, я склоняюсь к распределенной системе VC (git, mercurial), которая уже имеет встроенную устойчивость для многосайтового развертывания. Некоторые другие параметры также важны, например: аутентификация с использованием групп на нескольких серверах LDAP (то есть доменов AD) и приятный клиент с графическим интерфейсом Windows, чтобы угодить пользователям Windows.
Я думаю, вы можете начать с изучения etckeeper (Держите конфигурации под контролем с Etckeeper на ServerWatch как QuickStart) и выберите SCM-backend (из поддерживаемых), которые имеют сильные LDAP-возможности (у меня здесь нет идей)