Що таке управління конфігурацією?


12

У всіх проектах, в яких я брав участь, які мали внесок зовнішнього консультанта, було задано питання про те, який тип управління конфігурацією ми використовуємо. Ні в одному з цих випадків консультант не зміг визначити управління конфігурацією. Так що це?


4
Чесно кажучи лише Google, перші два результати - це відповідні записи Вікіпедії, які пояснюють все про це.
Джеремі

Посилання: en.wikipedia.org/wiki/Software_configuration_management . Хоча добре запитання.
Джон Онстотт

2
Я читав цю сторінку з вікіпедії, і якщо чесно, я думаю, що її написали ті самі "консультанти", про які Генрі мається на увазі ...
Дін Хардінг

Ага так, казкове слово. Повертає спогади з моїх підприємств.
Джейсон Бейкер

@Dean Harding Рівно!
Генрі

Відповіді:


4

Яке управління конфігурацією програмного забезпечення (SCM) зводиться до відповіді на таке:

  • Які вихідні файли використовуються для виготовлення нашого кінцевого продукту?
  • Що змінилося з того часу, коли ми зробили наш кінцевий продукт?
  • Чому ми її змінили?

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

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

Іншими словами, ваш консультант, швидше за все, хоче знати, як Ваша компанія / група розвитку відповідає на три запитання у верхній частині моєї відповіді.


1
Останнім часом, коли це з’явилося, я сказав, що ми використовуємо svn, Trac та Hudson. З погляду обличчя консультантів було видно, що він нічого не чув про це. Тож я показав йому, як наш реєстр вимог подається в Trac, як Trac інтегрується зі svn, як Hudson auto будує та розгортає все, і хлопець вказав управління конфігурацією як проектний ризик.
Генрі

12

Управління конфігурацією включає "все інше", що не пов'язане безпосередньо з написанням коду. Отже, це як ви керуєте випусками, як керуєте і триажуєте звіти про помилки та пропозиції щодо пропозицій, як виконуєте свої збірки тощо. Він часто включає також, як керується вашим вихідним кодом (наприклад, яким керуванням версій ви користуєтеся, стратегіями розгалуження, як ви [можливо] керуєте кількома одночасними "випусками" тощо).


2

Управління конфігурацією означало багато часу з часом. Я вважаю, що це важливіше для адміністраторів чи операцій, ніж безпосередньо для розробників. Коли ваша операційна особа намагається підтримувати та працювати з серверами, ви переживаєте за налаштування машин, керування їх конфігурацією та підтримку роботи. Якщо ви просто увійдете в комп'ютер і почнете встановлювати програмне забезпечення та змінювати конфігураційні файли на машині, ви не керуєте цією конфігурацією. Що станеться, якщо машина помре? Що станеться, якщо хтось перейде на цю машину і змінить конфігураційний файл, і все почне зникати? Що робити, якщо вам потрібно запустити іншу машину, налаштовану саме так, як та, що працює? Ви можете зробити це?

Без стратегії управління конфігурацією ви не можете. І тому це важливо. Вся справа в повторюваності. Розробники підходять до повторюваності інакше, ніж це роблять люди, тому ми дбаємо про повторення різних речей.

Є кілька чудових інструментів з відкритим кодом, які допомагають вам це зробити: шеф-кухар, капістрано, кук і навіть SVN. Чому SVN просто використовувати розробниками? Перевірте свої конфігураційні файли, сценарії, які використовуєте для налаштування машин, і відслідковуйте їх версії. Ці частини вашої організації життєво важливі для її роботи. Ви не хочете їх втрачати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.