Użycie szablonów domyślnych w procesie kompilacji
Można użyć szablonu domyślnego ( TfvcTemplate.12.xaml lub GitTemplate.12.xaml), aby szybko zdefiniować proces podstawowy, który kompiluje i testuje kod.Można opcjonalnie kontrolować sposób, w jaki Team Foundation Build (TFBuild) kompiluje kod, uruchamia testy i inne procesy, takie jak skrypty.
Rozpoczynanie pracy
(Opcjonalnie) Przed utworzeniem nowej definicji kompilacji, na stronie głównej programu Team Explorer (klawiatura: Ctrl + 0, H) otwórz rozwiązanie, które ma zostać skompilowane, tak jak automatycznie określono w polu Projekty.
W programie Team Explorer upewnij się, że masz połączenie z projektem zespołowym (klawiatura: Ctrl + 0, C), a następnie otwórz stronę Kompilacje (klawiatura: Ctrl + 0, B).
Wybierz łącze Nowa definicja kompilacji albo zaznacz kompilację, otwórz jej menu kontekstowe i wybierz polecenie Edytuj definicję kompilacji.
Porada Jeśli pojawi się komunikat o błędzie TF225001, skonfiguruj kontrolera kompilacji.
Na karcie Proces, w obszarze Szablon procesu kompilacji domyślnie zaznaczony jest szablon domyślny.
Przestroga Są połączone z Git projektu zespołowego znajdujących się na programu Visual Studio Online?Brakuje Ci parametrów Zastąp wyewidencjonowanie i Projekty?
Zobacz sekcję Jak upewnić się, że używam poprawnego szablonu domyślnego procesu kompilacji Git programu Visual Studio Online?
Użyj informacji z dalszej części tego tematu, aby wypełnić pola, które zapewniają funkcjonalności, które chcesz umieścić w tej definicji kompilacji.
Po wypełnieniu pól na karcie Proces określ opcje procesu kompilacji na innych kartach.
Aby uzyskać więcej informacji, zobacz Tworzenie lub edycja definicji kompilacji.
Co chcesz zrobić dalej?
Pobieranie kodu
Tworzenie kodu
Określ projekty do skompilowania
Określ platformy i konfiguracje do skompilowania
Określ opcje kompilacji
Uruchamianie innych procesów podczas kompilacji
Wykonywanie analizy kodu podczas kompilacji
Kontroluj sposób, w jaki serwery uruchamiają kompilację
Określ, którzy agenci kompilacji mają przetwarzać kompilację
Określ limity czasu agenta kompilacji
Kontroluj wynik kompilacji
Określ lokalizację wyjściową kompilacji
Wprowadź nazwy zakończonych kompilacji przydatnych dla zespołu
Publikuj symbole z kompilacji
Skojarz i utwórz elementy robocze
Utwórz element pracy w przypadku niepowodzenia
Oznacz etykietą kod źródłowy
Uzyskaj odpowiedzi na często zadawane pytania
Pobieranie kodu
Można ustawić kilka opcji sposobu, w jaki agent kompilacji pobiera kod źródłowy określony na karcie Ustawienia źródła.
Jeśli chcesz... |
Następnie ustaw ten parametr... |
Używając tych wytycznych... |
||
---|---|---|---|---|
Określ, czy oczyścić obszar roboczy lub repozytorium Git na agencie kompilacji, zanim przetworzy on kompilację |
TFVC: Oczyść obszar roboczy Git: Wyczyść repozytorium |
Wybierz Prawda, aby usunąć wszystkie istniejące dane wyjściowe i pliki kodów źródłowych przed przetworzeniem kompilacji.Użyj tego, jeśli chcesz, aby proces kompilacji był możliwie dokładny w znajdowaniu problemów w procesie kompilacji.
Ustawienie to ustawienie nie działa, jeśli używasz pracujących tworzenia kontrolera.W tym przypadku masz nowy katalog roboczy z każdej kompilacji. |
||
Utwórz określoną wersję kodu źródłowego |
TFVC: Pobierz wersję Git: Zastąpienie wyewidencjonowania |
TFVC: Określ versionspec, aby zidentyfikować wersję, którą chcesz skompilować. Git: Określ identyfikator gałęzi lub zatwierdzania do wyewidencjonowania. |
Tworzenie kodu
Można użyć MSBuild do kompilowania kodu.
Określ projekty do skompilowania
W polu Projekty w obszarze Kompilacja w tabeli Parametry procesu kompilacji można określić więcej rozwiązań lub projekty kodu przeznaczone do kompilacji.Trzeba określić co najmniej jedno rozwiązanie lub projekt.
W przypadku kompilowania kilku powiązanych projektów zwykle powinny one być dodane do jednego rozwiązania, a rozwiązanie powinno być określone w komórce Projekty , zamiast wymieniać każdy projekt oddzielnie.
W polu Projekty można wybrać przycisk wielokropka (...) , aby otworzyć okno dialogowe Rozwiązania/Projekty i określić w nim rozwiązania lub projekty przeznaczone do kompilacji.
Aby ręcznie wypełnić pole Projekty dla projektu zespołowego TFVC, określ pełną ścieżkę kontroli wersji do każdego projektu lub rozwiązania, które chcesz skompilować.Wartości oddzielasz przecinkiem, jak pokazano w następującym przykładzie:
$/Features/FeatureA/Server/All Server Projects.sln, $/Features/FeatureA/Client/All Client Projects.sln
Ważne |
---|
Jeśli korzystasz z TFVC, upewnij się, że ścieżka do każdego projektu lub rozwiązania jest elementem podrzędnym jednej z wartości Folder kontroli źródła, które są wymienione na karcie Ustawienia źródła definicji kompilacji.Jeśli używasz systemu Git, upewnij się, że projekt lub rozwiązanie znajdują się w repozytorium Git w kompilowanej gałęzi. |
Określ platformy i konfiguracje do skompilowania
W polu Konfiguracje możesz określić, które platformy i konfiguracje chcesz skompilować.Na przykład możesz określić, że ta kompilacja powinna kompilować tylko wydanie konfiguracji 32-bitowej wersji projektu C++ poprzez zawarcie wpisu Wydanie|x86 w tym polu.
Porada |
---|
W przypadku dużej bazy kodu można znacznie zwiększyć szybkość przetwarzania kompilacji, uwzględniając tylko potrzebne konfiguracje i platformy. |
Jeśli pozostawiono pole Konfiguracje puste, definiowana jest domyślna konfiguracja i platforma dla każdego kompilowanego rozwiązania lub projektu.
W polu Konfiguracje można wybrać przycisk wielokropka (...), aby otworzyć okno dialogowe Konfiguracje i określić w nim elementy kompilacji.Można również określić je ręcznie.
Każda konfiguracja w polu Konfiguracje powinna mieć następującą formę:
Konfiguracja|Platforma
Należy zastąpić następujące symbole zastępcze:
Konfiguracja jest wartością, takich jak debugowania, zlecenia i wszystkich konfiguracji.
Platforma jest wartością, takich jak Win32, x 86, x 64 lub dowolnymi procesora CPU.
Konfiguracje na liście muszą być rozdzielone przecinkami.
Na przykład chcąc skompilować zarówno konfigurację debugowania, jak i wydania projektu C#, należy określić Debugowanie|Dowolny procesor, Wydanie|Dowolny procesor w polu Konfiguracje.
Tokeny, których używa się do konfiguracji i platformy, muszą odpowiadać tokenom skonfigurowanym we właściwościach rozwiązania lub we właściwościach projektu kodu.Jeśli nie są zgodne, po ukończeniu kompilacji można otrzymać nieoczekiwane wyniki.
[!UWAGA]
W przypadku kompilowania poszczególnych projektów kodu, a nie pliku rozwiązania, i aby określić dowolny procesor jako platformę, należy określić ją jako AnyCPU zamiast Dowolny procesor.
Określ opcje kompilacji
Można kontrolować kilka opcji kompilacji.
Jeśli chcesz... |
Następnie ustaw ten parametr... |
Używając tych wytycznych... |
||
---|---|---|---|---|
Kontroluj, czy przeprowadzić powtórną kompilację |
Kompilacja, Czysta kompilacja |
Ustaw jako Prawda, jeśli chcesz ponownie skompilować cały kod w projektach kodu.Jest to równoważne MSBuild /target:clean.Ta opcja nie ma praktycznego wpływu, chyba że jednocześnie ustawiono wartość Fałsz dla opcji Czyste repozytorium.
|
||
Przeprowadź walidację kodu z diagramów warstwy |
Kompiluj, Zaawansowane, Argumenty MSBuild |
Umieść następujący ciąg w wartości tego parametru: /p:ValidateArchitecture=true. Aby uzyskać więcej informacji, zobacz Walidacja kodu przy użyciu diagramów warstwy. |
||
Określ argumenty wiersza polecenia, które zostaną przekazane do kompilacji MS |
Kompiluj, Zaawansowane, Argumenty MSBuild |
Jeśli proces kompilacji wymaga, aby argumenty były przekazywane do MSBuild, należy wprowadzić je w parametrze Argumenty MSBuild.Aby uzyskać więcej informacji, zobacz Informacje w wierszu polecenia programu MSBuild. |
||
Określ bitowość wersji programu MSBuild, która jest używana do przetwarzania kompilacji |
Kompilacja, Zaawansowane, Platforma MSBuild |
Określ jedną z następujących wartości:
Jeśli określono tę wartość, należy się upewnić (na przykład za pomocą znacznika, jak wyjaśniono wcześniej w tym temacie), czy kompilacja jest przetwarzana przez agenta kompilacji, który jest obsługiwany przez 64-bitową maszynę kompilacji.W przeciwnym razie kompilacja nie powiedzie się. |
Uruchamianie innych procesów
Można uruchomić inne procesy podczas kompilowania.
Wykonywanie analizy kodu
Aby znaleźć wspólne wady podczas kompilacji, można przeanalizować kod.Ustaw parametr Wykonaj analizę kodu w zaawansowanych parametrach kompilacji.
Wybierz Jak skonfigurowane, aby analizować każdy projekt kodu, w którym włączona jest ta funkcja.
Wybierz Zawsze, aby analizować każdy projekt kodu, niezależnie od tego, czy włączona jest ta funkcja w projektach kodu.
Wybierz Nigdy, aby pominąć analizę kodu.
Aby uzyskać więcej informacji, zobacz jeden z następujących tematów:
Porady: ustawianie właściwości analizy kodu dla projektów C/C++
Porady: konfigurowanie analizy kodu dla projektu zarządzanego kodu
Porady: konfigurowanie analizy kodu dla aplikacji sieci Web ASP.NET
Kontroluj sposób, w jaki serwery uruchamiają kompilację
Można kontrolować sposób, w jaki serwery kompilacji uruchamiają kompilacje
Określ, którzy agenci kompilacji mają przetwarzać kompilację
Aby określić, którzy agenci kompilacji są używani do przetwarzania kompilacji, rozwiń węzeł Zaawansowane, rozwiń węzeł Ustawienia agenta, a następnie określ wartości dla następujących parametrów:
Filtr nazwy: można filtrować agentów kompilacji, którzy są używani do przetwarzania tej definicji kompilacji, wpisując nazwę agenta w tym polu.Możesz również określić zestaw nazw przy użyciu znaków wieloznacznych * i ?.Na przykład użytkownik może określić CI* do wskazania agentów, których nazwy zaczynają się od znaków CI.Agenci zgodni z tym kryterium obejmują CI, CI1 lub CI_Agent2.
Filtr tagów: określ jeden znacznik lub więcej, aby zapewnić, że jedynie agenci kompilacji posiadający odpowiadające znaczniki uruchomią tę kompilację.Zazwyczaj stosuje się znaczniki do pewnych agentów kompilacji, by zarezerwować je do specjalnych celów.Można na przykład skonfigurować agenta kompilacji na maszynie kompilacji przeznaczonej do przetwarzania kompilacji ewidencjonowanych warunkowo.Zastosuj znacznik warunkowy do tego agenta kompilacji.Na koniec zastosuj znacznik warunkowy do definicji kompilacji, aby była przetwarzana tylko przez agentów ze znacznikiem warunkowym.Aby określić znaczniki, wybierz przycisk wielokropka (...).
[!UWAGA]
Pula agentów kompilacji, którzy są dostępni do przetwarzania tej kompilacji, jest określana przez kontroler kompilacji, określony dla tej definicji kompilacji.Aby zmodyfikować kontrolera kompilacji, wybierz kartę Ustawienia domyślne kompilacji, otwórz menu Kontroler kompilacji, a następnie wybierz kontrolera kompilacji.
Operator porównania znaczników: w menu wybierz jedną z następujących wartości:
MatchExactly: wybierz tę wartość, jeżeli ta definicja kompilacji ma być przetwarzana tylko przez agentów, którzy mają dokładnie taki sam zestaw znaczników, jak ten określony w polu Filtr tagów.Jeśli nie określisz żadnych znaczników, każdy agent może przetwarzać tę definicję kompilacji.
Porada Wybierając MatchExactly, ograniczasz agentów, którzy będą dostępni dla tej definicji kompilacji, do tych, którzy zawierają dokładnie taki sam zestaw znaczników, jak te określone w polu Filtr tagów.
MatchAtLeast: wybierz tę wartość, jeśli chcesz, aby ta definicja kompilacji była przetwarzana przez agenta kompilacji, który ma co najmniej taki sam zestaw znaczników, jak określony w polu Filtr tagów.Jeśli nie określisz żadnych znaczników, jedynie agenci nieposiadający znaczników mogą przetwarzać tę definicję kompilacji.
Określ limity czasu agenta kompilacji
Aby określić limity czasu, rozwiń węzeł Zaawansowane, rozwiń węzeł Ustawienia agenta, a następnie określ parametry w tabeli poniżej.
Jeśli chcesz... |
Następnie ustaw ten parametr... |
Używając tych wytycznych... |
---|---|---|
Określ maksymalny czas przetwarzania kompilacji dozwolony dla agenta kompilacji |
Maksymalny czas wykonywania |
Wprowadź wartość czasu w formacie gg:mm:ss.Na przykład kompilacja zostanie zakończona niepowodzeniem z błędem przekroczenia limitu czasu, jeśli określona została wartość 04:30:15 i agent kompilacji nie zakończył swojej pracy po 4 godzinach, 30 minutach i 15 sekundach.Określ wartość 00: 00: 00, jeśli chcesz dać agentowi kompilacji nieograniczony czas na jej przetwarzanie. |
Określ maksymalny dozwolony czas przypisania żądania kompilacji do agenta kompilacji |
Maksymalny czas oczekiwania |
Wprowadź wartość czasu w formacie gg:mm:ss.Przykładowo kompilacja zakończy się niepowodzeniem z błędem przekroczenia limitu czasu, jeśli określono wartość 01:30:45 i kompilacja nie została przypisana do agenta kompilacji po 1 godzinie, 30 minutach i 45 sekundach.Określ wartość 00:00:00, jeśli chcesz nadać kontrolerowi kompilacji nieograniczony czas na odnalezienie agenta do przetworzenia definicji kompilacji. |
Kontroluj wynik kompilacji
Określanie lokalizacji wyjściowej kompilacji
Aby kontrolować, gdzie program TFBuild umieszcza dane wyjściowe kompilacji, należy wybrać:
SingleFolder, aby umieścić wszystkie pliki wyjściowe kompilacji razem w folderze docelowym.
PerProject dla grupy plików wyjściowych kompilacji do folderu docelowego — podfoldery dla każdego projektu rozwiązania lub kodu, który określono w polu Projekty.
AsConfigured, aby pozostawić pliki binarne w folderze źródeł agenta kompilacji zorganizowanym w tę samą strukturę podfolderów, jaką widzisz podczas kompilowania kodu na komputerze deweloperskim w programie Visual Studio.Ta struktura jest zdefiniowana w projektach kodu.
Jeśli używasz tej opcji, program TFBuild nie skopiuje danych wyjściowych do folderu docelowego.Zamiast tego można programować skrypty do kopiowania danych wynikowych do lokalizacji określonej przez parametr TF_BUILD_BINARIESDIRECTORY, tak aby zostały przeniesione do lokalizacji tymczasowej.Zobacz Skrypty używane po kompilacji i testowaniu.
Wprowadź nazwy zakończonych kompilacji przydatnych dla zespołu
Ty i Twój zespół możecie użyć opcji Zaawansowane, Format numeru kompilacji do przekazania przydatnych danych do nazwy każdej ukończonej kompilacji.Aby poznać prawidłowe wartości tego parametru, zobacz sekcję Użycie numerów kompilacji jako opisowych nazw zakończonych kompilacji.
Publikuj symbole z kompilacji
Określ parametr Ścieżka do publikowania symboli, aby zaindeksować i opublikować dane symboliczne w celu włączenia takich funkcji, jak debugowanie historyczne.Zobacz Indeksowanie i publikowanie danych symbolicznych.
Kojarzenie zestawów zmian, zatwierdzeń i elementów roboczych
Proces kompilacji automatycznie łączy każdą ukończoną kompilację ze wszystkimi zestawami zmian lub zatwierdzeniami, które pojawiły się w kodzie, jak również z ich skojarzonymi elementami roboczymi.Nie można wyłączyć tego zachowania, ale opcja Zaawansowane umożliwia podjęcie decyzji, czy chcesz zaktualizować numer kompilacji dla elementów roboczych, czy nie, poprzez wybór opcji Prawda lub Fałsz.
W jaki sposób proces kompilacji określa, kiedy zostaną skojarzone zestawy zmian, zatwierdzenia i elementy robocze?
Utwórz element pracy w przypadku niepowodzenia
W przypadku ustawienia Zaawansowane dla atrybutu Utwórz element pracy w przypadku niepowodzenia wybierz wartość Prawda, jeśli w przypadku niepowodzenia kompilacji jej proces ma utworzyć usterkę i przypisać ją do osoby, która zaewidencjonowała zestaw zmian systemu TFVC lub wypchnęła zatwierdzenie Git.
Oznacz etykietą kod źródłowy
W przypadku kontroli wersji w systemie TF dla atrybutu Źródła etykiet zaznacz wartość Prawda, jeśli chcesz automatycznie oznaczać każdy plik kodu źródłowego etykietą, aby ułatwić zespołowi określenie, która wersja każdego pliku jest zawarta w ukończonej kompilacji.To ustawienie nie ma zastosowania do projektów zespołowych Git.
Uzyskać informacje o sposobie TFBuild Określa wersję do etykiety, zobacz był jak dobre kompilacji?
Pytania i odpowiedzi
Zobacz sekcję Jak upewnić się, że używam poprawnego szablonu domyślnego procesu kompilacji Git programu Visual Studio Online?
Są połączone z Git projektu zespołowego znajdujących się na programu Visual Studio Online?Brakuje Ci parametrów Zastąp wyewidencjonowanie i Projekty?
Czy Domyślny szablon (GitTemplate.xaml) jest wyświetlany w przypadku pokazywania szczegółów?
Jeśli tak jest, wybierz GitTemplate.12.xaml.Po wykonaniu tej czynności pojawią się parametr Zastąpienie wyewidencjonowania i przycisk przeglądania w polu Projekty.
Pyt.: W jaki sposób proces kompilacji określa, kiedy zostaną skojarzone zestawy zmian, zatwierdzenia i elementy robocze?
Odp.: Każda definicja kompilacji przechowuje własny rekord określający, które zestawy zmian (TFVC), zatwierdzenia (Git) i elementy robocze oczekują na skojarzenie z następną zakończoną kompilacją.
Na przykład zestaw zmian 382 jest kompilowany zarówno przez kompilację A, jak i kompilację B.Kompilacja A jest zakolejkowana i ukończona pomyślnie.Kompilacja B jest zakolejkowana i kończy się niepowodzeniem.Zestaw zmian 382 jest teraz połączony z zakończoną pomyślnie kompilacją Kompilacji A i zakończoną niepowodzeniem kompilacją Kompilacji B. Zestaw zmian 382 nie będzie połączony z następną ukończoną kompilacją Kompilacji A, lecz zostanie połączony z następną ukończoną kompilacją Kompilacji B.
Dla informacji o sposobie TFBuild Określa wersję do skojarzenia, zobacz był jak dobre kompilacji?