TFS Wczoraj na swoim laptopie zainstalowałem sobie TFS-a. Trochę się za nim stęskniłem i pomyślałem sobie ,że może zrobię o nim wpis. Lubię to narzędzie i chciałby go używać w każdym projekcie. Być może kiedyś tym wpisem zachęcę początkujących programistów do jego użycia.

 

W tym wpisie postaram się pomóc osobom, które nigdy wcześniej nie instalowały TFS bądź z nim pracowały.

Używałem TFS w pracy jako repozytorium plików  i się nie zawiodłem. Jest on prosty i intuicyjnych. Oczywiście mieliśmy z nim także drobne problemy, jak n.p małe zawieszenie Visual Studio przy utracie połączenia z serwerem TFS.  Btw zostało to naprawione w wersji 2012.

Jest to jednak dobre narzędzie.

Czy jest to płatne narzędzie? Niestety tak ,ale istnieje także wersja Express.  Wersja Express ma ograniczenie tylko do pięciu użytkowników.

Jeśli zarządzanie projektami ogranicza się do 5 osób (programistów) w twojej firmie to założenie serwera TFS nawet w wersji Express ma sens.

Nie znam wszystkich nowości, jakie się pojawiły w wersji 2012. Wiem tylko ,że obecnie TFS ma całkowite wsparcie dla metodyki SCRUM.

Co to jest TFS

Najpierw powiedzmy, dlaczego powinieneś w ogóle korzystać z TFS-a. Celem Team Foundation Server jest stworzenie repozytorium plików, który może być zarządzany przez wielu użytkowników.

Oczywiście TFS nie ogranicza się do tego. W TFS-ie mam także system przydzielania zadań oraz zgłoszenia błędów (bugów) przez testerów. Ten drugi może w przyszłości tobie się nie spodobać :).

TFS też sprawuje kontrole nad wersjami skompilowanej aplikacji, czyli buildami. Co brew pozorom jest także istotną sprawą, jeżeli firma przykładowa ma trzy serwery : deweloperskie, testerki i produkcyjne.  A sama aplikacja  musi przejść przez wiele rąk, zanim trafi na środowisko produkcyjne.

Przykładowo  różnica między środowiskiem deweloperski  a testerskim polega na dokładnym odwzorowaniu sprzętowym serwera produkcyjnego. Zanim coś trafiło na serwer testerski najpierw musiał trafić na serwer deweloperski na którym kontrole sprawują głównie programiści.

 image1_thumb

Każdy z tych systemów ma swój własne dane i każdy z nich spełnia inne cele.  Dobrze mieć te trzy systemy po jednym skrzydłem zwanym TFS.

Jak TFS integruje z codziennym dniem programisty

Wiedząc to wszystko możemy więc zadać pytanie jak TFS integruje się z przepływem pracy zwykłego programisty.

Zazwyczaj wtedy  zaczynasz dzień od pobrania najnowszej wersji aplikacji z poprawkami zrobionymi przez twoich kolegów. Jeśli są jakieś konflikty z kodem n.p w wyniku edytowania tej samej klasy TFS oferuje tobie specjalny edytor do rozwiązywania takich problemów.

Potem edytujesz kod zgodnie z przypisanymi do siebie zadaniami i po skończeniu   potwierdzasz swój kod.

Potem budujesz (głupio to brzmi)…wysyłasz  aplikację na odpowiedni serwer.  Później testerzy testują twój kod i zgłaszają błędy. 

Używając słów kluczowych systemu TFS ten przepływ wygląda tak.

image14

Warto zaznaczyć ,że cały ten proces odbywa się w jednym repozytorium. Dla firmy istotną sprawą jest fakt ,że cały proces tworzenie aplikacji jest łatwo dokumentalny. Wiadomo kto i ile robił daną część aplikacji oraz wiadomo także ile bugów otrzymała dana aplikacja i czyja to winna. 

Z pewnych logiczny powodów na początku  może to tobie się nie spodobać. Zaraz wracam

Ilość bugów wcale nie określa jak źle jest napisana aplikacja. Zwykle testerzy…dobrzy testerzy potrafią przeprowadzi aplikację przez  niesamowitą wędrówkę  absurdalnych zdarzeń, które później często ciężko jest  odtworzyć.

Instalacja TFS 2012

Instalacja TFS 2012 z domyślnym ustawieniami przerzedła u mnie pomyślnie. Tylko baza danych SQL Express została zaktualizowana ,ale nie wpłynęło to negatywnie na inne aplikacje jak Visual Studio 2010 czy WebMatrix.

Niestety nie jestem administratorem i bardziej zaawansowane konfiguracje TFS są poza tym wpisem.

TFS_03

Domyślne konto administratora w TFS to twoje konto  Windows, które tutaj nazywa się “ZARZĄDZANIE NT\USŁUGA LOKALNA” .

Login użytkownika domyślnego to “nazwa twojego komputer” plus nazwa twojego użytkownika. W przypadku Windows 8 jest to “nazwa komputera” + “konto Windows Live”.

Jeśli nie masz do swojego konta Windows hasła to obawiam się ,że będziesz musiał je założyć.

Jeśli wszystko przebiegło pomyślnie będziesz mógł połączyć się z TFS przez przeglądarkę internetową wpisują http://localhost:8080/tfs o ile nie zmieniłeś domyślnego portu.

Rozpoczęcie przygody z TFS 2012

Przy instalacji TFS zawsze jest tworzona domyślna kolekcja projektów “DefaultCollection”.

TFS 2010/2012 i Visual Studio 2010/2012

Alternate Text Ogólne zachowania TFS względem wersji się na szczęście nie zmienia. Dlatego śmiało możesz skorzystać z tego tutorialu nawet używając Visual Studio 2008 i TFS 2008.

Przez ten tutorial opisałem głównie łączenie Visual Studio 2010 z TFS 2012 ,ale te same kroki można wykonać i na Visual Studio 2012.

Spróbujmy się do niej podpiąć używając Visual Studio 2010 i Visual Studio 2012.

TFS 2012 i Visual Studio 2010

Wykrzyknik Możesz podłączyć starszą wersję Visual Studio do nowszej wersji TFS-a ,ale musisz zainstalować ten patch. http://www.microsoft.com/en-us/download/details.aspx?id=29082

Visual Studio 2010 nie wspiera wszystkich funkcjonalności TFS 2012. O czym przekonasz się w tym poradniku.

Zacznijmy od Visual Studio 2010.

Możesz połączyć się z serwerem TFS na trzy sposoby. Są one ukazane poniżej.

image

image

Pojawi się przed tobą lista dostępnych kolekcji, jak i projektów. Jest ona pusta, ponieważ nie podaliśmy w Visual Studio żadnego serwera TFS. Aby to zmienić klikamy na przycisk “Servers”

image

Zostaniesz zapytany gdzie serwer TFS, z którym chcesz się połączyć żyje.

image

Domyślny adres twojego serwera to “nazwa twojego komputer”:8080/tfs. Jak widzisz mój komputer nazywa się pan Niebieski.

image

Alternatywnie, jeśli nie znasz nazwy swojego komputera możesz użyć nazwy localhost.

image

Po dodaniu serwera możesz  z niego wybrać odpowiednie kolekcje i projekty.  W domyślnej kolekcji nie ma na razie żadnych elementów więc po prostu kliknij na “Connect”.

image

W zakładce Team Explorer powinieneś zobaczyć domyślną kolekcję.

Tworzenie projektu do repozytorium

Na potrzeby tego tutorialu utworzy nowy projekt aplikacji konsolowej i dodamy go do repozytorium TFS.

image

Utwórz nowy projekt aplikacji Konsolowej.

image

Klikają prawym przyciskiem myszki na projekt wywołaj meni kontekstowe i wybierz z niego “Add Solution to Source Control”.

image

Visual Studio 2010 i 2012 powinno zwrócić ci następujący błąd.

Błąd ten nie jest zbyt intuicyjny ,ale  nie możesz dodać aplikacji do TFS, jeżeli nie ma on wcześniej zadeklarowanego projektu. Projekt TFS-owy zawiera wszystkie dane na temat danej pracy w projektach Visual Studio. 

W Visual Studio 2010 utworzenie projektu jest ukazana na poniższym  obrazku.

image

Jeżeli używasz TFS 2012 i Visual Studio 2010 w trakcie tworzenia projektu zobaczysz następujący błąd.

image

Jak widać Visual Studio 2010 nie ma możliwości tworzenia projektu. Dlatego na chwilę muszę się przesiąść na Visual Studio 2012. Wypadku jego braku wciąż możesz utworzyć projekt TFS w wersji WEB.

W Visual Studio 2012 po wykonaniu poprzednich kroków jak w Visual Studio 2010 kliknij na link “Create a New Team Project…”.

image

W pierwszym  oknie dialogowym podajesz nazwę projektu i jego opis. Jest to tutorial więc nie zawarłem tutaj jakiś istotnych informacji. Kliknij “Next”.

image

TFS oferuje do twojego projektu pewne gotowe wzorce, które są dostosowane do odpowiednich metodyk pracy (Scrum, Agile, CMMI). Możesz pobrać dodatkowe  wzorce, jeśli ci one nie odpowiadają.

Dla tego poradnika nie ma znaczenia, jaki wzór wybierzesz. Kliknij “Next”.

image

Na koniec masz możliwość utworzenia projektu na bazie już istniejącego (jego gałęzi). Nie mamy istniejącego projektu dlatego możesz tylko wybrać pierwszą opcję.

image

Kliknij na “Finish”.

image

Bądź cierpliwy i poczekaj na utworzenie projektu TFS.

image

Aby zaimportować projekt TFS musisz przy połączeniu go zaznaczyć. Jeżeli utworzyłeś projekt w Visual Studio 2012 tak jak ja to został on już domyślnie dodany.

image

Interfejs zakładki  Team Explorer różny się trochę od wersji Visual Studio ,ale są to różnice czystko kosmetyczne.

Jak widzisz projekt TFS ma “Work Items” (zadania), “Bulid” (kompilacje) oraz “Source Control”(repozytorium).

W Visual Studio 2012 istnieje także opcja prośby o “Code Review”. Nie widziałem tego wcześniej.

Teraz w Visual Studio 2010/2012 możesz dodać aplikację konsolową do repozytorium. Kliknij prawym przyciskiem na projekt aplikacji i z menu kontekstowego wybierz“Add Solution to Source Control”.

image

Wybierz projekt TFS, do którego chcesz dodać aplikację. Możesz zmienić nazwę folderu, w którym będzie znajdowała się dana aplikacja. Jeśli czujesz się szczęśliwy ze swojego wyboru kliknij na przycisk “OK” Uśmiech

image

Po tym sukcesie możesz zauważyć ,że w Solution Explorer przed plikami został dodany symbol plusa.

image

Na dole powinieneś  zobaczyć zakładkę “Pending Changes” . Jest to lista plików, która ulegała zmianie wyniku twoich działań.  Pliki te oczekują twojego potwierdzania zmian. Jak widzisz wszystkie pliki mają kategorie “Change” jako “Add” ponieważ zostały dodane.

image

Dodaj jakiś komentarz (dobra praktyka) i sk-commit-uj (nie ma takiego słowa) swoje zmiany klikając na przycisk “Check In”.

image

A na koniec zatwierdź swoje zmiany.

Ten wpis zrobił się zdecydowanie za długi w następnym wpisie Work Item, czyli zadania.