В чем разница между управлением конфигурациями и контролем версий?


Может ли кто-нибудь объяснить простыми словами, в чем разница между управлением конфигурациями и контролем версий? Из описаний, которые я смог найти на различных веб-сайтах, кажется, что управление конфигурацией-это просто причудливый термин для помещения ваших конфигурационных файлов в репозиторий системы управления версиями. Но другие приводят меня к мысли, что есть и более запутанное объяснение.

8 30

8 ответов:

Контроль версий необходим, но недостаточен для управления конфигурацией. Управление версиями происходит в каком-либо Центральном или распределенном репозитории, но ничего не говорит о том, где развернута или используется какая-либо конкретная версия.

Управление конфигурациями беспокоится о том, как взять то, что находится в системе управления версиями, и последовательно развернуть это в соответствующих местах, в первую очередь в области контроля качества и производства, но и в достаточно крупных разработчиках операций разработки.

Например, вы можете храните все свои SQL-запросы в системе управления версиями, включая сценарии модификации таблиц, но это не влияет на то, когда эти сценарии развертываются на соответствующем сервере базы данных и синхронизируются с развертыванием любого другого кода, который полагается на эту структуру базы данных.

Управление конфигурацией включает в себя, но не ограничивается, контроль версий.

Управление конфигурацией - это все, чем вы должны управлять в рамках проекта. Это включает в себя программное обеспечение, аппаратное обеспечение, тесты, документацию, управление релизами и многое другое. Он идентифицирует каждый компонент конечного пользователя и отслеживает каждое предлагаемое и утвержденное изменение в нем с первого дня проекта до дня его завершения.

Управление версиями специально применяется к компьютеру файлы. Это включает в себя документы, электронные таблицы, электронные письма, исходный код и многое другое.

Управление версиями-это сохранение файлов и сохранение их различных версий, поэтому вы можете видеть изменения с течением времени.

Управление конфигурацией обычно называют общим процессом, который отслеживает, какая версия кода находится на каком сервере, как настраиваются серверы (и сценарии установки, чтобы сделать это во многих местах). Это то, как происходит процесс того, что происходит после того, как код переходит в систему управления версиями и как он развертывается на серверах / рабочих столах и т. д.

В дополнение ко всему сказанному выше я хотел бы порекомендовать книгу Боба Айелло "лучшие практики управления конфигурациями" - http://www.amazon.com/dp/0321685865 . Он охватывает все аспекты управления конфигурацией программного обеспечения, включая контроль версий.

Управление конфигурацией-неоднозначный термин.

В программном обеспечении это, как правило, суперкомпьютер управления версиями с акцентом на весь процесс, чтобы произвести результат повторяемым и предсказуемым образом.

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

В производстве оборудования, это представляет собой даже суперсеть из двух вышеперечисленных, включая аппаратные части и программные модули, необходимые для получения продукта, с описанием процесса их производства, а иногда и целые схемы и конфигурации самих производственных линий.

Управление версиями - это контроль результатов, в то время как управление конфигурацией - это управление всем процессом, ведущим к получению результатов. Управление конфигурациями включает в себя управление изменениями, управление проектами и т. д., которые, как правило, не управляются простым управлением версиями.

Грубо говоря, контроль версий означает, что вы можете проверить источник для любой конкретной версии. Управление конфигурацией означает, что вы можете создавать, развертывать и, возможно, тестировать любую конкретную версию.

Управление версиями является одной из особенностей системы SCM.

Из руководства пользователя subversion: http://svnbook.red-bean.com/en/1.7/svn-book.html

"некоторые системы контроля версий также являются системами управления конфигурацией программного обеспечения (SCM). Эти системы специально разработаны для управления деревьями исходного кода и имеют множество особенностей, характерных для разработки программного обеспечения,таких как врожденное понимание языков программирования или предоставление инструментов для построения программное обеспечение. Подрывная деятельность, однако, не является одной из этих систем. Это общая система, которая может быть использована для управления любой коллекцией файлов. Для вас эти файлы могут быть исходным кодом-для других, что угодно, от списков покупок в продуктовых магазинах до цифровых видео-микшеров и выше."