====== TFS - ćwiczenia ====== ===== Pierwsze łączenie z TFS ===== * połącz się z serwerem **Team -> Connect to Team Fundation Server** \\ Adres: ''http://172.20.2.249:8080/tfs'' * wybierz kolekcję ''test'' i połącz się z projektem ''Figury Projekt Zespolowy'' * zaloguj się do serwera poprzez Web Acces i obejrzyj zawartość projektu w przeglądarce * sprawdź listę użytkowników przypisanych do projektu i ich uprawnienia * obejrzyj zawartość projektu ''Figury''. Sprawdź historię przesyłanych plików do repozytorium (Changesets/History) ===== Podstawy obsługi systemu kontroli wersji ===== - Pobierz aktualną wersję rozwiązania ''Figury'' (zmapuj ją z lokalną kopią) - Zapoznaj się z operacjami dostępnymi w menu kontekstowym dostepnym po kliknięciu na różne elementy drzewa projektu (Solution Explorer) - Zapoznaj się z operacjami dostępnymi w oknie ''Source Control Explorer'' - Dodaj do projektu nowy plik o nazwie ''pkN.cs'' (gdzie ''N'' - numer stanowiska) zawierający kolejną klasę dziedziczącą po klasie ''Figura''. Zaimplementuj wymagane metody abstrakcyjne. Przed zatwierdzeniem zmian zapoznaj się z możliwościami okna list zmian **Pending Changes**. Zatwierdź zmiany w repozytorium (**Check In**). - Uaktualnij projekt do najnowszej wersji - W pliku ''Kilo.cs'' do klasy ''Kolo'' dodaj metodę o nazwie ''PK_N''. Zawartość metody może być dowolna, np. niech metoda rzuca wyjątek. - Przed zatwierdzeniem zmian porównaj plik ''Kolo.cs'' z wersją umieszczoną na serwerze (Latest Version) oraz z wersją lokalną przed zmianami (Workspace). Zatwierdź zmiany opatrując je odpowiednim komentarzem. - Pobierz aktualną wersję i rozwiąż ewentualne konflikty wybierając wersję z serwera - Obejrzyj historię zmian całego projektu oraz jednego z wypranych plików - Porównaj kolejne wersje pliku ''Kolo.cs''. Sprawdź czy udało się dodać metody wszystkim studentom. - Wyświetl plik ''Kolo.cs'' wraz z adnotacjami o dokonanych zmianach - Znajdź zmiany dokonane przez użytkownika ''pk1'' (Find->Changeset) - Pobierz pierwotną wersję pliku ''Kolo.cs'' i usuń plik ''pkN.cs'' - Cofnij wszystkie zmiany przed zatwierdzeniem ich do repozytorium - Dodaj do systemu kontroli wersji istniejący projekt (np. grę life z poprzednich ćwiczeń lub utwórz własny projekt). Umieść go jako kolejny katalog projektu zespołowego ''Figury Projekt Zespolowy'' (Solution Explorer -> Add To Source Control). - W systemie kontroli wersji można przechowywać też inne pliki, nie związane z projektami VS. Spróbuj dodać do systemu kontroli wersji katalog zawierający plik tekstowy, grafikę i dokument stworzony w programie Word. Utwórz w tym celu nowe mapowanie pomiędzy katalogiem lokalnym a nowym katalogiem w projekcie zespołowym . Dodaj do katalogu nowe pliki (skopiuj je niezaleznie od Visual Studio). W oknie ''Pending Changes'' uwzględnij zmiany wykryte automatycznie w lokalnych katalogach. Zatwierdź zmiany. ===== Rozgałęzienia (branching and merging) ===== - Utwórz nową gałąź projektu ''Figury'' i zmapuj ją z lokalnym katalogiem - Obejrzyj hierarchię rozgałęzień (Branching and Merging -> View Herarchy) - Dodaj nowy plik w gałęzi zawierający nową klasę i zatwierdź zmiany - Porównaj zmiany w rozgałęzieniach - Połącz rozgałęzione projekty - Prześledź dokonane zmiany za pomocą wizualizacji **View history -> Track Changeset** - Przekonwertuj gałąź na folder - Dodaj etykietę wybranej wersji projektu głównego oraz rozgałęzionego (Labels). Odszukaj zaznaczone zestawy zmian w historii. ===== Nowy projekt zespołowy ===== Wyobraź sobie, że jesteś szefem zespołu tworzącego grę komputerową, np. gra akcji FTP, której akcja toczy się na ulicach Torunia w momencie rozlania się konfliktu Krymskiego na Europę Środkową. Utwórz projekt zespołowy, zaplanuj prace w projekcie i przydziel zadania związane z pierwszymi iteracjami. - Dodaj nowym projekt zespołowy **File -> New -> Team Project** do kolekcji ''sandbox'' na serwerze TFS - Dodaj kilku członków do twojego projektu zespołowego (lub całą grupę ''znd'' zdefiniowaną w systemie na którym działa serwer) - Zdefiniuj wstępną listę ''Product Backlog'', funkcjonalności oczekiwane w produkie np: stworzenie fabuły, przygotowanie map, opracowanie interfejsu użytkownika, utworzeniem modeli budynków i postaci, implementację silnika graficznego, itp. - Uzupełnij opis, effort i właściciela dla wybranych elementów list - Zdefiniuj pierwszy sprint * określ datę rozpoczęcia i zakończenia * powiąż wybrane elementy list ''Product Backlog'' ze sprintem * rozbij te elementy na zadania * przypisz zadania do poszczególnych członków zespołu - Ustaw powiadomienia (alerts) wysyłane do ciebie w momencie zmian w zadaniach przypisanych do ciebie - Zaznacz wybrane zadania jako rozpoczęte (''In progress'') i jako zakończone (''Done'') ==== Dodawanie projektu deweloperskiego ==== * Połącz projekt zespołowy ze ścieżką na lokalnej maszynie (Configure Workspace) * Utwórz nowy projekt programistyczny (np. aplikacja konsolowa) * Wyślij utworzone pliki do repozytorium **Source Control -> Check In** * Zmodyfikuj jeden z plików projektu i wyślij go do repozytorium jednocześnie łącząc zmiany z wybranym zadaniem * Wykonaj ''Check In'', który spowoduje zamkniecie jednego lub więcej zadań * Dodaj nowy ''Product Backlog Item'' oraz nowe zadania z poziomu Visual Studio * Znajdź zadania przypisane do siebie i zakończ je * Znajdź wszystkie niezakończone zadania w ramach bieżącego sprintu i uzyskaną listę dodaj do ulubionych ===== Team Fundation Service ===== * Utwórz projekt zespołowy w usłudze Team Fundation Service (potrzebny Live ID) * Połącz się z tym projektem z Visual Studio i dodaj do repozytorium nowy projekt, np. projekt WindowsForm. * Sprawdź zawartość repozytorium przez przeglądarkę WWW * Spróbuj dodać nowych członków zespołu * Utwórz przykładową listę Backlog Products, ustaw liczbę i daty zakończenia iteracji (sprintów), przydziel zadania do pierwszej iteracji ===== Kolekcje i serwis buildów ===== - Utworzenie kolekcji w której realizowany będzie przykładowy projekt? - Utworzenie i konfiguracja serwisu buildów - Agent i kontroler serwisu buildów