Средства управления конфигурациями ПО

Конфигурационное управление (англ. software configuration management, SCM) в программной инженерии — комплекс методов, направленных на систематический учёт изменений, вносимых разработчиками в программный продукт в процессе его разработки и сопровождения, сохранение целостности системы после изменений, предотвращение нежелательных и непредсказуемых эффектов, формализацию процесса внесения изменений.
В целом, конфигурационное управление отвечает на вопрос: «Кто-то уже сделал нечто, как нам это воспроизвести?»
Изначально управление конфигурацией применялось не в программировании. Под конфигурацией понимался состав деталей конечного продукта и «взаимное расположение частей» физического изделия. Таким образом, конфигурацией можно управлять, контролируя документы, описывающие конечный продукт, требования к нему, всю его проектную и технологическую документацию.
В связи с высокой динамичностью сферы разработки ПО, в ней конфигурационное управление особенно полезно. К процедурам можно отнести создание резервных копий, контроль исходного кода, требований проекта, документации и т. д. Степень формальности выполнения данных процедур зависит от размеров проекта, и при правильной её оценке данная концепция может быть очень полезна.
Инструменты управления конфигурацией позволяют выполнять изменения и развертывания быстрее, повторяемыми, масштабируемыми, предсказуемыми и способными поддерживать желаемое состояние, которое переводит контролируемые активы в ожидаемое состояние.
Некоторые инструменты управления конфигурацией используют модель извлечения, в которой агент, установленный на серверах, периодически запускается, чтобы извлечь последние определения из центрального репозитория и применить их к серверу. Другие инструменты используют push-модель, когда центральный сервер запускает обновления для управляемых серверов.
Наиболее популярные продукты категории Средства управления конфигурациями ПО Все продукты категории
Производители Средства управления конфигурациями ПО
F.A.Q. Средства управления конфигурациями ПО
Что такое управление конфигурацией программного обеспечения?
Управление конфигурацией программного обеспечения определяется как процесс систематического управления, организации и контроля изменений в документах, кодах и других объектах в течение жизненного цикла разработки программного обеспечения. Сокращенно - SCM. Основная задача - повысить производительность труда с минимальными ошибками.
Зачем нам нужно управление конфигурацией?
Основными причинами внедрения системы управления конфигурацией программного обеспечения являются:
- Есть много людей, работающих над программным обеспечением, которое постоянно обновляется
- Это может быть случай, когда несколько версий, ветвей, авторов участвуют в программном проекте, и команда географически распределена и работает одновременно
- Изменения в требованиях пользователей, политике, бюджете, расписаниях должны быть учтены
- Программное обеспечение должно работать на разных машинах и в операционных системах
- Помогает развивать координацию между заинтересованными сторонами
- Процесс SCM также полезен для контроля затрат, связанных с внесением изменений в систему
Любые изменения в элементах конфигурации программного обеспечения влияют на конечный продукт. Следовательно, изменения в элементах конфигурации должны контролироваться и управляться.
Задачи в процессе SCM:
- Идентификация конфигурации
- Исходные условия
- Изменение управления
- Учет состояния конфигурации
- Аудит конфигурации и обзоры

Top 5 configuration management tools
https://opensource.com/article/18/12/configuration-management-tools