Udostępnij za pośrednictwem


Użycie szablonów domyślnych w procesie kompilacji

Można użyć szablonu domyślnego (Ikona TFVC TfvcTemplate.12.xaml lub Ikona Git 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

  1. (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.

  2. 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).

  3. Wybierz łącze Nowa definicja kompilacji albo zaznacz kompilację, otwórz jej menu kontekstowe i wybierz polecenie Edytuj definicję kompilacji.

    PoradaPorada

    Jeśli pojawi się komunikat o błędzie TF225001, skonfiguruj kontrolera kompilacji.

  4. Na karcie Proces, w obszarze Szablon procesu kompilacji domyślnie zaznaczony jest szablon domyślny.

    Domyślny szablon procesu kompilacji

    Informacje dotyczące przestrogiPrzestroga

    Są połączone z Ikona Git Git projektu zespołowego znajdujących się na programu Visual Studio Online?Brakuje Ci parametrów Zastąp wyewidencjonowanie i Projekty?

    Parametry z niewłaściwej Git domyślnego szablonu

    Zobacz sekcję Jak upewnić się, że używam poprawnego szablonu domyślnego procesu kompilacji Git programu Visual Studio Online?

  5. 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.

  6. 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

  • Przetestuj swój kod i przeanalizuj wpływ testu

  • Uruchamianie innych procesów 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ę

Ikona TFVC TFVC: Oczyść obszar roboczy

Ikona Git 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.

PoradaPorada

Jeśli proces kompilacji nie wymaga pustego obszaru roboczego lub repozytorium, można znacznie zmniejszyć czas potrzebny do uruchomienia kompilacji przez ustawienie wartości tego parametru na Fałsz.

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

Ikona TFVC TFVC: Pobierz wersję

Ikona Git 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żna uwagaWaż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.

PoradaPorada

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.

PoradaPorada

Może znacznie skrócić czas wymagany do budowania dużych ścieżek bazowych kodów przez ustawienie tej opcji na wartość Fałsz.

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:

  • Określ Auto, jeśli chcesz uruchomić program MSBuild w tej samej bitowości procesora, co program Team Foundation Build — usługa, który jest zainstalowany na agencie kompilacji.

  • Określ X86, aby zawsze przetwarzać tę kompilację przy użyciu 32-bitowej wersji programu MSBuild.

    Ponieważ Visual Studio działa jako aplikacja 32-bitowa, mogą wystąpić problemy, gdy kompilacja jest przetwarzana przez agenta kompilacji działającego na 64-bitowej wersji programu Team Foundation Build — usługa.Określając X86, można rozwiązać tego rodzaju problemy.

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:

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.

      PoradaPorada

      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 Ikona TFVCzaewidencjonowała zestaw zmian systemu TFVC lub Ikona Gitwypchnęła zatwierdzenie Git.

Oznacz etykietą kod źródłowy

W przypadku Ikona TFVCkontroli 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 Ikona Git 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 Ikona Git 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?

Nieprawidłowy domyślny szablon Git

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.

Nieprawidłowy domyślny szablon Git

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?

Pyt potrzebuję proces kompilacji, aby wykonać inne czynności.Jak dostosować ją

A:Customize the process