Инструменты выпуска / развертывания / упаковки для систем с несколькими приложениями

В нашей компании сложилась следующая ситуация: у нас есть несколько (аппаратных) систем, каждая с несколькими программными приложениями. Однако, поскольку аппаратное обеспечение отличается, программное обеспечение в некоторых случаях также отличается. Кроме того, существует множество различных комбинаций версий программного обеспечения.

Например, рассмотрим следующую (упрощенную) ситуацию:

Системы: 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 #, но наше решение по возможности должен быть независимым от языка.


person gehho    schedule 29.04.2011    source источник
comment
Какую операционную систему (и) вы используете и на каком языке (а) для приложений?   -  person pwan    schedule 30.04.2011
comment
Мы используем Windows (2000, XP, Vista, 7 и 7 Embedded). Приложения написаны на разных языках, в основном C ++ и C #, но наше решение по возможности не должно зависеть от языка.   -  person gehho    schedule 02.05.2011


Ответы (2)


Я работаю в очень большой компании (тысячи сотрудников), и у нас есть одна и та же версия для всех, с множеством приложений. У нас есть предпроизводственная среда, среда разработки и финальные версии. Конечно, мы работаем с java, и все наши приложения являются веб-приложениями, поэтому у нас нет проблем с нашим оборудованием.

Я считаю, что это лучшая среда. У всех одинаковый выпуск.

person elvenbyte    schedule 29.04.2011
comment
Это было бы неплохо, но наши системы используют разное оборудование и, следовательно, большую часть времени не могут использовать одно и то же программное обеспечение. - person gehho; 29.04.2011

Мы делаем бесплатный (действительно) инструмент, который неплохо справляется именно с этим. В настоящее время он поддерживает целевые серверы Solaris (Intel и Sparc), Linux, Mac OS и Windows. Вы можете получить довольно хорошее представление о том, что он делает, с помощью видеоуроков.

person mac    schedule 29.04.2011
comment
Спасибо за ответ. Мы исследуем это программное обеспечение. - person gehho; 02.05.2011