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.
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.
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ć.
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.
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”.
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.
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.
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”
Zostaniesz zapytany gdzie serwer TFS, z którym chcesz się połączyć żyje.
Domyślny adres twojego serwera to “nazwa twojego komputer”:8080/tfs. Jak widzisz mój komputer nazywa się pan Niebieski.
Alternatywnie, jeśli nie znasz nazwy swojego komputera możesz użyć nazwy localhost.
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”.
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.
Utwórz nowy projekt aplikacji Konsolowej.
Klikają prawym przyciskiem myszki na projekt wywołaj meni kontekstowe i wybierz z niego “Add Solution to Source Control”.
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.
Jeżeli używasz TFS 2012 i Visual Studio 2010 w trakcie tworzenia projektu zobaczysz następujący błąd.
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…”.
W pierwszym oknie dialogowym podajesz nazwę projektu i jego opis. Jest to tutorial więc nie zawarłem tutaj jakiś istotnych informacji. Kliknij “Next”.
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”.
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ę.
Kliknij na “Finish”.
Bądź cierpliwy i poczekaj na utworzenie projektu TFS.
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.
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”.
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”
Po tym sukcesie możesz zauważyć ,że w Solution Explorer przed plikami został dodany symbol plusa.
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.
Dodaj jakiś komentarz (dobra praktyka) i sk-commit-uj (nie ma takiego słowa) swoje zmiany klikając na przycisk “Check In”.
A na koniec zatwierdź swoje zmiany.
Ten wpis zrobił się zdecydowanie za długi w następnym wpisie Work Item, czyli zadania.