Лабораторна робота № 3
Тема: Створення групового проекту. Підключення до Team Foundation Server (TFS) та його налаштування
Мета: Набути практичних навичок в організації взаємодії MS Visual Studio та TFS та у створенні проекту і залученні учасників до нього
Теоретичні відомості
Організація взаємодії MS Visual Studio та TFS
Для доступу до функцій та даних необхідно підключити клієнт до відповідного сервера, на якому запущений та вибрати колекцію, в якій міститься командний проект. Командні проекти зберігаються у колекціях проектів. Одночасно можна підключитися лише до одного сервера. Кількість командних проектів, до яких можна доступитися одночасно, залежить від клієнтського додатка. З Team Web Access, Office Excel Office Project одночасно можна доступитися лише до одного командного проекта.
Для підключення з MS Visual Studio варто натиснути піктограму у клієнті Team Explorer або ж виконати команду “Team=>Connect to Team Foundation Server”. Появиться діалогове вікно (рис. 1), в якому слід виконати наступні кроки:
1. Натиснути кнопку сервери. При цьому появиться діалогове вікно “Add/Remove Team Foundation Server”.

Рис. 1 Діалогове вікно для підключення до командного проекту
2. Натиснути кнопку “Add” (“Додати”). Появиться діалогове вікно “Add Team Foundation Server” (рис. 2).
3. Задати ім’я або URL-адресу сервера (http://Ім’я_сервера:порт/tfs).
За замовчанням використовується порт 8080, проте слід перевірити, який насправді порт використовує Team Foundation Server. tfs – шлях за замовчанням до колекції проектів, що зберігаються на сервері (тут слід вказати реальний шлях).

Рис. 2 Діалогове вікно для задавання параметрів доступу до Team Foundation Server
4. В діалоговому вікні “Connect to Team Project” в розділі “Team Projects” слід встановити прапорці поряд з усіма потрібними проектами, та натиснути кнопку “Connect”.
Серед типових проблем зі з’єднанням з TFS є порушення мережевих підключень, обмеження прав на обробку даних та звернення до переміщеної колекції командних проектів.
Налаштування прав у Team Foundation Server
Безпека у Team Foundation реалізується через користувачів та групи. Групи існують на рівнях сервера, колекції та проекту. У TFS можна надавати права чи відмовляти в них на рівнях робочих елементів, доступу до управління версіями, доступу до проекту або колекції проектів та доступу до самого TFS. Існують групи за замовчанням та групи, які піддаються налаштуванню. Кожна з груп за замовчанням має наперед визначений набір прав.
Незалежно від вибраного шаблона процесу в момент створення проекту у TFS за замовчанням створюється чотири групи користувачів:
Адміністратори проектів
Учасники
Читачі
Конструктори
Окрім груп за замовчанням, створених для кожного командного проекту, при створенні колекції командних проектів для неї створюються сім груп по замовчанню незалежно від вибраного шаблона процесу:
Адміністратори колекцій проектів
Облікові записи служб колекцій проектів
Адміністратори побудови колекцій проектів
Допустимі користувачі колекцій проектів
Облікові записи служби проксі-колекції
Облікові записи служб тестування колекцій проектів
При установці TFS створюються наступні 5 груп за замовчанням:
Адміністратори Team Foundation
Облікові записи Team Foundation Service
Допустимі користувачі Team Foundation
Служби веб-додатків SharePoint
Користувачі з доступом лише на перегляд робочих елементів
Визначено такі значення авторизації: “Заборонити” (забороняється авторизація користувача чи групи на виконання дій, визначених в описі права), “Дозволити” та “Не визначено”. Якщо користувач належить одночасно до декількох груп і хоч в одній них на певне право для нього встановлено значення “Заборонити” , то вся сукупність дій, визначена цим правом, буде недоступною для нього. При значенні “Не визначено” авторизація для даного права може наслідуватися від інших груп.
Розглянемо процес створення групи, що піддається налаштуванню.
Для створення групи рівня сервера необхідно виконати наступні дії:
Відкрити консоль адміністрування Team Foundation на сервері рівня додатків, де потрібно створити групу, що піддається налаштуванню.
Натиснути “Рівень додатків” та кнопку “Адміністрування членства у групах”.
У вікні “Глобальні групи” натиснути кнопку “Створити”. Відкриється вікно “Створення нової групи Team Foundation Server”.
У полі “Ім’я групи” та в полі “Опис” (при потребі) задати необхідні значення та натиснути кнопку “ОК”.

Для створення групи рівня колекції (тільки для членів групи Адміністратори Team Foundation) необхідно:
У Team Explorer вибрати колекцію командних проектів
В меню група вибрати пункт “Параметри колекції командних проектів” та натиснути “Членство в групі”;
В діалоговому вікні “Глобальні групи” натиснути кнопку “Створити”;
В діалоговому вікні “Створити нову групу Team Foundation Server” у полі “Ім’я групи” ввести ім’я групи;
У полі “Опис” при потребі задати опис та натиснути “ОК”.

Для створення групи рівня проекту (тільки для членів групи Адміністратори проекту) необхідно:
У Team Explorer вибрати проект, для якого необхідно створити групу.
В меню “Група” вибрати пункт “Параметри командного проекту”, а тоді – “Членство в групі”.
В діалоговому вікні “Групи проекту” натиснути кнопку “Створити”.
У діалоговому вікні “Створити нову групу Team Foundation Server” у полі “Ім’я групи” ввести ім’я.
У полі “Опис” при потребі задати опис групи та натиснути “ОК”.
Для додавання користувача у проект слід скористатися командою “Параметри проекту групи=>Членство в групі” в контекстному меню вузла командного проекту.
Створення проекту
Якщо засобами MS Visual Studio створити новий проект/рішення і спробувати додати його в репозиторій, виконавши команду “Add Solution to Source Control”, то появиться повідомлення про помилку у випадку, якщо проект ще не доданий у TFS (рис. 3).
Рис. 3 Помилка додавання проекту в репозиторій
Для створення проекту в TFS слід у Team Explorer виконати команду “New Team Project”. Відкриється діалогове вікно, в якому слід задати ім’я та опис проекту. Наступним кроком є вибір шаблону процесу (MSF Agile або ж MSF CMMI). Після успішного створення проекту у Team Explorer будуть відображені елементи: Work Items, Builds та Source Control. Тепер можна додати рішення в репозиторій (командою “Add Solution to Source Control”). При цьому появиться діалогове вікно, в якому слід вказати місце збереження (папки) проекту як на сервері з TFS, так і у локальному робочому просторі (local workspace).
Файли, призначені для розміщення в репозиторії, будуть помічені символом “+”. Залишається виконати команду Check-in та підтвердити її (рис. 4).
Рис. 4 Підтвердження завантаження рішення у репозиторій
Для одержання “свіжої” версії проекту з репозиторію слід виконати команду “Get Latest Version”.
Файли, завантажені в локальний робочий простір, можуть бути доступні для редагування. Інформація про змінені файли відображається у панелі “Pending Changes” (рис. 5).
Рис. 5 Панель “Pending Changes”

Завдання
Кожному з учасників проекту з’єднатися з TFS (припускається, що на одному з комп’ютерів, які використовуються групою розробників, встановлений сервер TFS 2010 та MS Visual Studio 2010, а на решті – тільки MS Visual Studio 2010).
Створити командний проект та групу рівня проекту. При цьому обгрунтувати вибір шаблона процесу.
Додати до групи стільки користувачів, скільки є учасників проекту.
Створити декілька пробних файлів (по числу учасників проекту) з кодом на комп’ютері з TFS.
Кожному з учасників “взяти проект”, внести зміни в один з файлів (кожному учаснику – свій файл для редагування) та завантажити змінений проект на сервер та знову завантажити останню версію проекту з сервера.
Контрольні запитання
Які параметри вказуються при з’єднанні MS Visual Studio з TFS?
Який протокол використовується для з’єднання з TFS?
Які типові причини неможливості з’єднання з TFS?
Як організована безпека у TFS?
Які існують групи у TFS?
Для чого, окрім значення авторизації “Заборонити” та “Дозволити”, у TFS існує значення авторизації “Не визначено”?
Які дії можна виконати за допомогою Team Explorer ?
Як додати проект в репозиторій?
За що відповідають команди “Get Latest Version” та “Check-in ”?
Інформаційні ресурси
Довідкова система Team Foundation Server