Каковы рекомендации по включению вашего компилятора, библиотек и других инструментов в вашу систему управления версиями?
В прошлом я сталкивался с проблемами, когда, хотя у нас был весь исходный код, создание старой версии продукта было упражнением в том, чтобы суетиться, пытаясь получить точную правильную конфигурацию Visual Studio, InstallShield и других инструментов (включая правильная версия патча), использованная для сборки продукта. В моем следующем проекте я бы хотел избежать этого, проверив эти инструменты сборки в системе контроля версий, а затем собрав их с их помощью. Это также упростило бы настройку новой машины сборки - 1) установить наш инструмент управления версиями, 2) указать в правой ветке и 3) построить - вот и все.
Я рассмотрел следующие варианты:
- Копирование установочного компакт-диска ISO в систему управления версиями - хотя это обеспечивает резервную копию, которая нам нужна, если нам нужно вернуться к более старой версии, это не лучший вариант для «живого» использования (каждая сборка должна начинаться с этапа установки , что может легко превратить 1 час сборки в 3 часа).
- Установка программного обеспечения в систему контроля версий. ClearCase сопоставляет вашу ветку с буквой диска; мы могли установить программное обеспечение под этот диск. При этом не учитывается нефайловая часть установки ваших инструментов, например настройки реестра.
- Установка всего программного обеспечения и настройка процесса сборки внутри виртуальной машины, сохранение виртуальной машины в системе управления версиями и выяснение того, как заставить виртуальную машину выполнять сборку при загрузке. Хотя мы с легкостью фиксируем состояние «машины сборки», мы получаем накладные расходы на виртуальную машину, и это не помогает с проблемой «сделать те же инструменты доступными для разработчиков».
Это кажется такой базовой идеей управления конфигурацией, но мне не удалось найти какие-либо ресурсы, как это сделать. Какие есть предложения?