Кому і навіщо потрібен ClearCase

Частина 1. Репозиторій


Введення


Починаючи з цієї статті, ми з вами будемо по кроках дослідити такий неординарний продукт, як ClearCase. Відкрита недавно рубрика "Майстерня ClearCase" накладає свій відбиток на стилістику викладу матеріалу, так як "майстерня" має на увазі покрокове вивчення програмного продукту з нуля до пристойного рівня …


До випуску планується кілька пов'язаних між собою статей, в яких по кроках досліджуються можливості програми за принципом "від простого до складного". У трилогії планується порушити практичні аспекти застосування програми на реальних прикладах. Далі я постараюся привести приблизний план планованих до розміщення статей, а всім зацікавленим у подальшому продовження трилогії пропонується надсилати мені питання та пропозиції, пов'язані з тематикою ClearCase. Аналізуючи Ваші листи, мені буде легше планувати тематику подальших статей, створюючи матеріал, найбільш точно відповідає всім віянь у колах розробників. ClearCase – в маси!


Читається матеріал (стаття номер 3) передбачає швидке введення в сам продукт і в предметну область контролю версій, далі планується описати інтерфейс і особливості продукту. У наступних статтях хочеться висвітлити такі питання: Web-інтерфейс, бряжчить, злиття версій, формат репозиторіїв, формат видів, синхронізація реплік VOB за допомогою MultiSite, команди ClearCase і MultiSite, механізми інтеграції із засобами розробки на прикладі Visual C + +, механізми ліцензування продукту.


Загальні подробиці програми


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


ClearCase дозволяє вирішити багато проблем, що супроводжують проект, в якому бере участь більше однієї людини. Наприклад, така проблема, як синхронізація версій одного вихідного файлу, над яким працювали два-три (і більше) програміста, в звичайному житті зведеться до простого механічного праці об'єднання трьох подверсий файлів в один, з неминучою в такому разі втратою часу, якого завжди не вистачає. Другим прикладом може служити ситуація, коли розробники змушені брати певний обсяг робіт на будинок або у відрядження, проводячи відповідні зміни у відриві від офісу. Тут проблема виникне, коли розробник прийде в офіс і спробує вставити в проект свою частину роботи. При цьому у нього також виникнуть проблеми з об'єднанням, злиттям декількох файлів для створення нової версії.


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


ClearCase одним з перших продуктів SCM (Source Code Management) включив в себе не тільки можливості контролю версій, а й управління робочим простором за допомогою інваріантного підходу, користуючись яким, розробники зможуть розробляти якісні програмні продукти в короткі терміни, підтримувати вже створені продукти, не плутаючись в їхніх версіях. Основна ж відмінність від конкурентів полягає не тільки в тому, що у ClearCase більш глобальний підхід до вирішення завдання контролю версій, але і в тому, що дана програма за допомогою спеціальної утиліти "oMake" дозволяє збирати проект у виконуваний файл. Подібну можливість не надає жоден з конкуруючих пакетів.


Основні особливості ClearCase:


ClearCase тісно інтегрується з усіма інструментальними засобами компанії Rational, деякі з яких доповнюють його функціональність. Наприклад, Rational SoDA дозволяє менеджерам і адміністраторам документувати, описувати поточний стан проекту, грунтуючись на тій інформації, яка надає SoDA.


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


ClearCase підтримує багато платформи, але вся подальша інформація в статті буде стосуватися тільки його реалізації під Windows.
Для даної платформи Rational випускає продукт у двох варіантах:


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


Другий варіант – це усічена версія продукту в якій не реалізовані всі функції повного продукту. Єдиним плюсом Attache є його здатність запускатися на платформах: Win3.0, Win3.1, Win95/98/NT.


Створення VOB


Подальший опис продукту піде до тематичного поділом. Далі ми візьмемося описувати найбільш цікаві аспекти використання ClearCase відповідно до плану, наведеному на початку статті.


Дана частина дозволить познайомитися Вам з механізмом, що становлять основу ClearCase, – створенням репозиторіїв, на основі яких будуються подальші відносини з програмою.


Якщо коротко описати принцип роботи користувача в програмі ClearCase, то виходить наступний алгоритм:



  1. Створюється VOB (один або декілька)

  2. Створюється VIEW (один або декілька)

  3. Необхідні проектні файли ставляться під контроль в одному з VIEW

  4. Збірка проекту

Словесний опис пунктів можна виразити так: створюється одна або декілька баз даних (VOB), на їх основі будуються види (VIEWs), з якими і працюють всі користувачі, створюючи потрібну кількість. Будь-яка операція постановки файлів під контроль зводиться до копіювання потрібного файлу на віртуальний диск, створюваний VIEW. Далі до файлу застосовуються стандартні операції версійного контролю: "check in" і "check out ", що дозволяють включати або вимикати контроль над файлами. Будь-який користувач у будь-який момент може створити відгалуження (branch) для самостійної правки, після закінчення якої ClearCase об'єднає отриману версію з проектною (закриє гілка). Підсумком всієї роботи є складання проекту про допомоги "oMake".


Відповідно, основою будь-якого проекту, або навіть самим проектом, є VOB – Version Object Base – захищений, масштабований репозиторій, що зберігає в собі всю історію всіх компонентів проекту. VOB – основа, фундамент будь-якого проекту.


VOB являє собою набір файлів і директорій, які фізично зберігаються на окремому комп'ютері. Репозиторій створюється тільки у відкритих (shared) каталогах. Власний фізичний формат VOB не документовано. Всі операції над файлами і каталогами робляться тільки через віртуальну файлову систему MVFS.


Специфікою ClearCase можна вважати його UNIX коріння, що виражається в особливих нотациях при введенні команд, нетипових для користувачів Windows систем. Наприклад, будь-який створений можна відключити командою MOUNT і відключити командою UNMOUNT, що не дуже типово для Windows.


Будь-яка операція в ClearCase виконується двома способами: або через графічну оболонку або через командний рядок. У залежності від ситуації і ступеня підготовленості користувача можна застосовувати дані способи, як по окремості, так і по черзі.


Створення VOB з оболонки


Після запуску Clear Case Home Base на екрані з'являється вікно, в якому знаходяться всі важелі управління програмою. Нас цікавить VOBs.


Як видно з представленого малюнка – графічна частина програми має досить дружній інтерфейс. З чотирьох представлених операцій нас цікавить Create VOB.


Специфіка створення репозиторіїв з графічної оболонки зводиться до того, що програма автоматично його створює і реєструє. Такий підхід дозволяє скорочувати необхідний на створення бази час. У наступному кроці VOBу присвоюється ім'я з коментарем (надалі коментарі будуть досить часто використовуватися в практичних цілях, тому не зайве виробити рефлекс їх введення).


На наступному витку програмі необхідно вказати місце створення сховища в форматі:


имя_хостадиректорияимя_VOB.vbs


Як ім'я хоста використовується мережеве ім'я комп'ютера, потім слід найменування відкритої (shared) директорії, в якій планується створити VOB. Подібна нотація звільняє користувача від необхідності знати фізичний шлях до VOB, що дуже зручно при роздільному управлінні, коли дані розкидані по дисках.


На останньому кроці можна задати ім'я майстер VOBа (адміністративного) з числа змонтованих. Якщо було поставлене таке VOB, то створюваний буде перебувати в повному підпорядкуванні йому (стане дочірнім VOB (subvob)). Пункт Reconnect the VOB at logon time змусить ClearCase автоматично монтувати VOB при вході в систему (за замовчуванням прапорець є вибраним).


Результатом всіх вищеописаних дій буде створення VOB. Вхід до нього стане доступний на рівні віртуальної файлової системи MVFS тільки після створення спеціального VIEW, орієнтованого на даний VOB.


Розглянемо процес створення VOB з командного рядка.


Для роботи на командному рівні необхідно скористатися інструментом cleartool, що представляє собою інтерпретатор командного рядка. Утиліта запускається з пункту Start-> Programs-> ClearCase-> ClearTool, або з командного рядка командою "cleartool". У результаті на екран виведеться вікно з запрошенням "cleartool>". Тепер можливий введення команд ClearCase.


Version Object Base створює команда "mkvob" (make vob). Синтаксис виглядає наступним чином:


Mkvob [-c comment] [-tag vob_tag] [path]


Це найпростіший формат даної команди, в якому розглядаються наступні налаштування:



-С – задає коментар для VOB

-Tag – задає ім'я VOB


path – повний шлях до створюваного VOB

Розглянемо, як приклад, наступну команду:


mkvob -c “alex” -tag alloiz Novichkov1alloiz.vbs


Опис виглядає наступним чином: створити VOB з ім'ям "alloiz", присвоїти коментар "alex". Зберігати репозиторій слід у "alloiz.vbs" за вказаною адресою до відкритого каталогу "1".


При правильному виконанні всіх інструкцій, після закінчення створення VOB буде виведена статистика (тісно пов'язана з налаштуванням конкретного хоста) приблизно такого вигляду:
 




Created versioned object base.
Host-local path: Novichkov:C:1alloiz.vbs
Global path: Novichkov1alloiz.vbs
VOB ownership:
owner NOVICHKOVAdministrator
group NOVICHKOVNone
VOBs have special data backup considerations. For more information on how to
back up your VOB properly, see the documentation for administering ClearCase.
If the backups aren "t done properly, you are putting your data at risk!
cleartool>


Тепер необхідно змонтувати VOB командою "mount alloiz", що призведе до монтування файлової системи MVFS для VOB "alloiz" (при безпомилковому виконанні команди, виведеться наступна інформація: "Mounting MVFS filesystem alloiz”)


Список всіх наявних VOBов завжди можна дізнатися за допомогою команди "lsvob".


Основні особливості VOB:



Розглянутий матеріал є лише малою частиною того, що можна робити з репозиторіями.


Частина 2. Побудова видів


VIEWs, вивчення основних властивостей фільтрів перегляду.


Друге опорне поняття в ClearCase, без якого неможлива робота в принципі – це View – система видів (подання інформації), яка дозволяє фільтрувати всі звернення до VOB, виводячи тільки ту частину з них, яка була визначена користувачем. Як вже згадувалося раніше ClearCase, здійснює контроль над файлами за допомогою стандартних операцій "check in" і "check out", які покликані вносити файл у рамки контролю, або виводити його.


View дозволяє отримувати доступ до файлів та даних проекту за допомогою стандартних засобів роботи. Ними можуть бути: "провідник", "Word", а також програми, які проводять будь-які файлові операції. Необхідність використання "видів" очевидна, так як без наочного подання, дані не можуть бути інформативними. Якщо знову повернутися до поняття фільтра, і подивитися на View з цієї точки зору, то виходить дуже цікава картина: ведеться проект, в якому зібралося по 10-20 версій кожного файлу, і всі з них, як годиться, знаходяться в VOB, а працювати команді необхідно тільки зі свіжої (останньої) версією, то в наявності проявляється основне (фільтраційне) властивість видів – вони дозволяють приховати від очей кінцевого користувача всю кухню (історію створення), виводячи на екран тільки останній реліз і всі до нього відноситься.


ClearCase має можливість роботи з двома типами View, що мають свою специфіку у використанні: Dynamic View і Snapshot View.


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


Розглянемо особливості обох типів подання:



Як видно з вишеcказанного, обидва види мають переваги і недоліки, а тому доведеться використовувати їх спільно в залежності від поточних потреб. Наприклад, якщо локальна мережа в організації побудована на базі систем Windows NT і 98, то всім розробникам в W98 доведеться працювати тільки зі Snapshot View. У разі ж надомної роботи або частих роз'їздів учасників проекту, Snapshot View стають просто незамінні, адже тільки даний тип подання дозволяє отримати "зліпок" необхідних файлів, скажімо, на переносний комп'ютер і виїхати у відрядження. Після повернення в офіс розробнику залишиться тільки підключитися до мережі і зробити відновлення підконтрольних даних. Динамічний спосіб перегляду, гарантує Вам найбільш повне охоплення компонентів проекту, оскільки даний тип виду працює з усіма приєднаними репозиторіями. Використання такого методу виправдане для менеджерів проекту, яким, в силу багатьох причин, необхідно мати доступ до всього проекту цілком.


Для роботи з видами існують такі стандартні для об'єктів операції як: створення, видалення, включення, відключення і оновлення. Робота з видами тісно пов'язана з таким потужним інструментом, як ClearCase Details, в чиї обов'язки входить постановка / виведення файлів під контроль, отримання довідкової інформації про конкретний елементі, висновок дерева версій … Тобто, виходячи з назви, даний модуль відповідає за всі деталі, що стосуються контролю даних. Відповідно, розробник більшу частину часу проводитиме в роботі з ClearCase Details.


На малюнку 3 відображено стан вікна ClearCase Home Base, в якому активна вкладка Views. Тут відображено 5 операцій над видами:



  • Start View. Запускає відключений вигляд. Рекомендується використовувати в тих випадках, коли при створенні виду (динамічного) не була встановлена опція авто підключення при завантаженні

  • Edit View Properties. Змінює властивості виду. Нарівні зі зміною властивостей, тут можна відключити на час роботу виду.

  • Create View. Створює вигляд (див. нижче)

  • Remove View. Видаляє вид

  • Update Snapshot View. Оновлює вигляд (тільки для Snapshot)

Оболонка


Почнемо зі створення Dynamic View.


Активізація Create View призводить до появи питання про те чи будемо ми створювати вигляд, що базується на проектному дереві (про це трохи пізніше). Пропускаємо даний крок без зміни. На наступній вкладці вибирається тип створюваного виду (рис. 4). Вибираємо Dynamic View.


Наступний крок вважає введення інформації про ім'я створюваного виду, супроводжує коментарі, букві диска, на якому буде змонтована файлова система MVFS. Для визначення шляху до місця розташування виду на локальній машині необхідно увійти в пункт Advanced, де відповідно до правил необхідно ввести повний шлях до відкритого каталогу (див. створення VOB). У відповідності з рекомендацією Rational, що стосується збереження документів, можна запропонувати зберігати дані про весь проект в одному каталозі не "розмазуючи" по всьому диску. Після закінчення введення необхідної інформації та натискання на Finish можна скористатися підсумковим вікном, де можна ще раз перевірити правильність задаються параметрів (на малюнку 5 показано вікно, в якому, як ім'я View зазначено "Administrator_view2", а в якості імені диска – "Y").

 


Рис.16 Це означає, що будь-яка людина, який взявся за написання проектної документації або звіту отримує універсальний інструмент, що працює в найпопулярнішому текстовому редакторі і дозволяє легко отримати шаблон для однієї з програм від Rational і додати в нього коментарі по поставленому завданню.


Спробуємо в режимі наочної агітації розглянути можливості SoDA, що годяться для використання спільно

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*