Что такое управление конфигурацией?

12

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

Генри
источник
4
Честно говоря, просто Google это, первые два результата являются соответствующими записями Википедии, которые объясняют все об этом.
Джереми
Ссылка: en.wikipedia.org/wiki/Software_configuration_management . Хороший вопрос, хотя.
Джон Онстотт
2
Я прочитал эту страницу википедии, и, честно говоря, я думаю, что она была написана теми же «консультантами», на которых ссылается Генри ...
Дин Хардинг
Ах да, модное слово. Возвращает воспоминания от моих корпоративных дней.
Джейсон Бейкер
@ Дин Хардинг Точно!
Генри

Ответы:

4

Что такое управление конфигурацией программного обеспечения (SCM), сводится к ответу на следующие вопросы:

  • Какие исходные файлы использовались для создания нашего конечного продукта?
  • Что изменилось с того момента, когда мы сделали наш конечный продукт?
  • Почему мы это изменили?

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

Это отличается от ITIL Configuration Management, который фактически отслеживает программные активы, какое программное обеспечение где работает (какой сервер / рабочая станция) и каковы настройки этого программного обеспечения.

Другими словами, ваш консультант, скорее всего, хочет знать, как ВАША компания / группа разработчиков отвечает на три вопроса в верхней части моего ответа.

mangelo
источник
1
В самый последний раз, когда это произошло, я сказал, что мы используем SVN, Trac и Hudson. По выражению лица консультанта стало ясно, что он ничего об этом не слышал. Итак, я показал ему, как наш реестр требований поступает в Trac, как Trac интегрируется с svn, как Hudson автоматически строит и развертывает все, а парень перечисляет управление конфигурацией как риск проекта.
Генри
12

Управление конфигурацией охватывает «все остальное», которое не имеет прямого отношения к написанию кода. Так что это то, как вы управляете выпусками, как вы управляете и сортируете отчеты об ошибках и предложения функций, как вы выполняете свои сборки и так далее. Он также часто включает в себя то, как управляется ваш исходный код (например, какой контроль версий вы используете, стратегии ветвления, как вы [возможно] управляете несколькими одновременными «выпусками» и т. Д.).

Дин Хардинг
источник
2

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

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

Есть несколько отличных инструментов с открытым исходным кодом, которые помогут вам сделать это: Chef, Capistrano, Cook и даже SVN. Почему SVN должен использоваться разработчиками? Проверьте ваши файлы конфигурации, сценарии, которые вы используете для настройки машин, и отследите их версии. Те части вашей организации жизненно важны для поддержания ее работоспособности. Вы не хотите потерять их.

chubbsondubs
источник