В нашей компании сложилась следующая ситуация: у нас есть несколько (аппаратных) систем, каждая с несколькими программными приложениями. Однако, поскольку аппаратное обеспечение отличается, программное обеспечение в некоторых случаях также отличается. Кроме того, существует множество различных комбинаций версий программного обеспечения.
Например, рассмотрим следующую (упрощенную) ситуацию:
Системы: Sys1, Sys2, Sys3
Приложения: App1, App2, App3, App4
, у каждого разные версии.
Sys1
использует App1 v1
, нет App2
, App3 v3
и App4 v2
, в то время как Sys2
использует App1 v1
, App2 v2
, App3 v2
и не App4
, а Sys3
не использует App1
, App2 v3
, App3
и App4 v3
.
То есть каждая система использует свой набор приложений, а также разные версии каждого приложения. Иногда даже разные комбинации версий, например App1 v1
используется с App3 v2
и App3 v3
.
В настоящее время мы управляем набором действительных наборов программного обеспечения, вручную копируя соответствующие выпуски во «внутреннюю общедоступную» папку, к которой имеют доступ выездной сервисный и производственный отдел. Однако в большинстве случаев у нас доступны только последние версии, и им трудно получить какие-либо из старых наборов версий для системы.
Мы хотели бы превратить этот процесс в некую автоматизированную систему. Существуют ли программные инструменты, которые могут помочь в этом процессе? Я думал о программном обеспечении, в котором вы можете настраивать разные системы и разные программные компоненты, создавать разные версии каждого из них, а затем назначать определенные версии программного обеспечения для конкретной системы. версии.
Кто-нибудь знает программное обеспечение, которое именно это делает? Или нам следует подумать о том, чтобы полностью изменить наше управление упаковкой / развертыванием? BTW: Как этот процесс называется «официально»?
Чтобы прояснить ситуацию: мы уже используем систему контроля версий, сервер сборки и тому подобное. Так что не в этом суть, но отсутствующим шагом является объединение нескольких программных компонентов в полный пакет, который может использоваться сервисом и производством. Поскольку мы не используем сервер сборки для всех программных компонентов (пока), я думаю, что может быть трудно позволить серверу сборки взять на себя эту работу, но я открыт для предложений.
РЕДАКТИРОВАТЬ:
Операционная система всегда Windows (2000, XP, Vista, 7 и 7 Embedded).
Приложения написаны на разных языках, в основном C ++ и C #, но наше решение по возможности должен быть независимым от языка.