В чем разница между управлением конфигурацией и контролем версий? - PullRequest
31 голосов
/ 29 октября 2009

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

Ответы [ 8 ]

27 голосов
/ 29 октября 2009

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

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

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

19 голосов
/ 29 октября 2009

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

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

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

9 голосов
/ 29 октября 2009

Контроль версий - это сохранение файлов и сохранение их разных версий, чтобы вы могли видеть изменения с течением времени.

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

1 голос
/ 28 октября 2012

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

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

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

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

1 голос
/ 16 марта 2012

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

1 голос
/ 15 марта 2012

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

0 голосов
/ 28 мая 2013

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

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

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

0 голосов
/ 29 октября 2009

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

...