Наш программный продукт состоит из множества частей.Допустим, он состоит из части драйвера ядра, пользовательской библиотеки DLL и программного обеспечения с графическим интерфейсом.Во время разработки мы собираем и используем их все в последних версиях, но это не то же самое, когда дело доходит до релиза.
Действительно, часть ядра должна быть заморожена намного раньше, чем другая.Затем dll-файл заморожен, чтобы его можно было тщательно протестировать, а последний замороженный - это GUI.По мере продвижения QA нам нужно создавать более новые версии полной версии с фиксированным графическим интерфейсом, но все еще с использованием ранее включенного драйвера ядра и dll.
Мне было интересно, если бы существовал инструмент, который быуправлять какая версия каждой части программного обеспечения используется для создания выпуска?
Этот инструмент мог бы интегрироваться в цепочку инструментов, чтобы создавать версии каждого выбранного программного обеспечения и собирать их в Windowsустановщик или пакеты Linux.
Редактировать : Как у нас дела?
На данный момент мы используем SVN с buildbot в качестве инструмента CI для Linux / gccи Windows / VStudio.Мы находимся в режиме, когда весь репозиторий разветвляется / помечается по мере необходимости.Но это больно и делает процесс релиза болезненным сейчас, когда появляется все больше и больше относительно независимых частей программного обеспечения.
Мы думаем об изменении макета хранилища, чтобы иметь несколько независимо разветвленных / размеченных проектов.Это будет намного лучше соответствовать циклу разработки и выпуска программного обеспечения.Но тогда нам абсолютно необходим такой инструмент.
Проблема связана с тем, что различные версии программного обеспечения, каждый со своими собственными разветвленными / маркированными версиями, собраны в полный выпуск программного обеспечения.
Редактировать : Что нужно.
В конце концов, я понял, что мне нужен менеджер пакетов для Windows.Менеджер пакетов в смысле RPM или DEB в Linux.
Кто-нибудь знает о диспетчере пакетов в Windows?