Udostępnij za pośrednictwem


Użycie procesu kompilacji ewidencjonowania warunkowego do sprawdzenia poprawności zmian

Gdy deweloper wprowadza zmiany naruszające kompilację, wynik może spowodować znaczące problemy dla małych zespołów.Koszty dla większych zespołów mogą być nawet dużo większe, gdy weźmie się pod uwagę utratę wydajności i opóźnienia harmonogramu.Możesz chronić część lub całą bazę kodu przed takimi problemami, tworząc definicję kompilacji ewidencjonowanej warunkowo.

[!UWAGA]

Kompilacje z ewidencjonowaniem warunkowym są dostępne tylko w projektach zespołowych programu Ikona TFVC TFVC.Nie są one dostępne w projektach zespołowych Git Ikona Git.

Co chcesz zrobić?

  • Zrozumienie jak kompilacje ewidencjonowane warunkowo wpływają na zespół

  • Zdefiniuj proces kompilacji ewidencjonowanej warunkowo

  • Wytyczne dla poprawy funkcjonowania procesu kompilacji i wydajności

  • Unikanie zablokowania zespołu

  • Uruchom ręcznie kompilacje ewidencjonowane warunkowo i kompilacje prywatne

Jak kompilacje ewidencjonowane warunkowo wpływają na zespół

Gdy zespół wprowadza proces kompilacji ewidencjonowanej warunkowo, zmiany przesyłane przez deweloperów umieszczane są w zestawach odłożonych i automatycznie kompilowane. Mogą one być także testowane przez system kompilacji.

Bramowego ewidencjonowania okno dialogowe

Kompilacja musi zakończyć się powodzeniem, aby proces aktualizacji mógł być ukończony.Aby uzyskać więcej informacji, zobacz Budowanie wyboru w oczekujące zmiany, które są kontrolowane przez Gated Zaewidencjonuj.

Jeśli niektórzy użytkownicy powinni pomijać ewidencjonowanie warunkowe, można ustawić uprawnienie Zastąp sprawdzanie ewidencjonowania przez kompilację na Zezwalaj dla całej grupy użytkowników.Aby uzyskać więcej informacji, zobacz Uprawnienia serwera programu Team Foundation Server.

Zdefiniuj proces kompilacji ewidencjonowanej warunkowo

  1. W Team Explorer, upewnij się, że jesteś połączony z projektem zespołowym (Klawiatura: Ctrl + 0, C), a następnie otwórz stronę Kompiluje (Klawiatura: Ctrl + 0, B).

  2. Wybierz łącze Nowe definicje kompilacji albo zaznacz kompilację, otwórz jej menu skrótów i wybierz Edytuj definicję kompilacji.

    PoradaPorada

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

  3. Na karcie Wyzwalacz:

    • Wybierz Ewidencjonowanie warunkowe.

    • (Opcjonalne) W celu zwiększenia efektywności procesu kompilacji, zaznacz Scal i kompiluj do n przesłań Aby uzyskać więcej informacji, zobacz Unikanie zablokowania zespołu.

  4. Na karcie Źródła danych w tabeli Foldery robocze należy foldery kontroli wersji, które ta definicja kompilacji będzie kontrolować, zmapować na lokalne foldery agenta kompilacji.

    PoradaPorada

    Zastosuj się do wskazówek:

    • Aby upewnić się, że proces kompilacji funkcjonuje poprawnie i poprawić wydajność, dołącz wszystkie foldery, i tylko te foldery, które zawierają pliki wymagane przez proces kompilacji.

    • Upewnij się, że nie zostanie określony folder kontroli wersji określony również na karcie Obszar roboczy innej definicji kompilacji ewidencjonowanej warunkowo.W innych przypadkach, gdy użytkownik ewidencjonuje pliki do tych folderów, system kompilacji wymagać będzie określenia, którą definicję dodać do kolejki.

    • Aby uzyskać więcej informacji na temat określania mapowań zobacz Praca z obszarami roboczymi kompilacji.

  5. W celu zwiększenia wydajności na karcie Ustawienia domyślne kompilacji wybierz Ta kompilacja nie kopiuje plików wyjściowych do folderu docelowego.

  6. W zakładce Proces w tabeli Kompilacja w parametrze Projekty określ rozwiązania lub projekty kodu, które chcesz kompilować.

  7. Na karcie Proces należy ustawić parametry w celu zapewnienia, że zaewidencjonowania spełniają specyficzne normy jakości kodu zespołu bez niepotrzebnego opóźniania deweloperów.

    Aby uzyskać więcej informacji, zobacz Popraw funkcjonowanie procesu kompilacji i wydajność poniżej.

  8. Określ opcje procesu kompilacji na innych kartach.Aby uzyskać więcej informacji, zobacz Tworzenie lub edycja definicji kompilacji.

Popraw funkcjonowanie procesu kompilacji i wydajności

Aby zminimalizować czas wymagany do przetworzenia kompilacji, rozważ postępowanie zgodnie z następującymi wytycznymi podczas określania wartości parametrów procesu kompilacji na karcie Proces.

Kontrola wersji TF lub Git

  • Czysty obszar roboczy lub Czyste repozytorium: Aby zwiększyć wydajność, należy ustawić tę wartość na False.To ustawienie może spowodować, że zespół pominie niektóre rodzaje uszkodzeń, takich jak te wprowadzone podczas refaktoryzacji.

Kompilacja

  • Konfiguracje: Jeśli ten parametr pozostanie pusty, dla każdego rozwiązania i projektu używana będzie domyślna platforma i konfiguracja.Aby zoptymalizować wydajność, należy przestrzegać następujących wytycznych:

    • Jeśli para platforma-konfiguracja jest kompilowana szybciej niż inne pary, określ ją w tym parametrze.

    • Określ możliwie najmniej par platforma-konfiguracja.

  • Czysta kompilacja Aby zwiększyć wydajność, należy nadać parametrowi wartość False.To ustawienie może spowodować, że zespół pominie niektóre rodzaje uszkodzeń, takich jak te wprowadzone podczas refaktoryzacji.

Kompilacja, Zaawansowane

  • Wykonaj analizę kodu: Aby zwiększyć wydajność, ustaw tą wartość na Nigdy.

Test, zaawansowany

  • Wyłącz testy:

    • Aby zwiększyć wydajność, zaznacz True.

    • Jeśli kod musi przejść pewne testy, wybierz False, a następnie zdefiniuj zestaw testów do uruchamiania przy kompilacji.Możesz zwiększyć wydajność uruchamiając tylko wymagane testy.Aby wyznaczyć te testy, filtruj je według kategorii lub priorytetu.Aby uzyskać więcej informacji, zobacz Uruchamianie testów w procesie kompilacji.

Publikuj symbole

  • Ścieżka do publikowania symboli: Aby zwiększyć wydajność, pozostaw tę wartość pustą.

Zaawansowane

  • Ustawienia agenta

    • Nazwa filtru lub Filtr znaczników: Użyj nazwy agenta kompilacji lub znacznika, aby powiązać definicję kompilacji z agentem kompilacji, który jest zaprojektowany specjalnie dla tej kompilacji.Agenta kompilacji należy uruchomić na sprzęcie, który jest dostatecznie wydajny, aby przetworzyć kompilację wystarczająco szybko i spełnić oczekiwania zespołu dotyczące wydajności.

      Przykładowo Ty i Twój zespół może nie mieć nic przeciwko, aby czekać 15 minut na zakończenie kompilacji.Jednak prawdopodobnie nie chcesz czekać osiem godzin, aby dowiedzieć się, czy kod został pomyślnie zaewidencjonowany.

    • Maksymalny czas wykonywania: Należy ustawić tą wartość na możliwie najmniejszą liczbę.Na przykład 15 minut może być dla zespołu odpowiednie, lecz osiem godzin to prawdopodobnie zbyt długo.

Aby uzyskać więcej informacji na temat parametrów procesu kompilacji domyślnego szablonu, zobacz Użycie szablonów domyślnych w procesie kompilacji.

Unikanie zablokowania zespołu

Każda definicja kompilacji ewidencjonowanej warunkowo może mieć tylko jedną uruchomioną kompilację w danej chwili.Dlatego duże i aktywne zespoły prawdopodobnie będą tworzyć większą kolejkę kompilacji ewidencjonowanych warunkowo.Następujące wskazówki mogą pomóc uniknąć blokowania postępu pracy zespołu:

  • W celu zwiększenia wydajności procesu kompilacji, na karcie Wyzwalacz wybierz opcję Scal i kompiluj do nopcjiprzesłania i określ maksymalną liczbę zaewidencjonowań, które chcesz kompilować razem w dowolnej podanej partii.Ogólnie rzecz biorąc nie ma dużego ryzyka powstania zakłóceń, podczas korzystania tej opcji.Każde ewidencjonowanie jest indywidualnie zatwierdzane lub odrzucane.

    Na przykład jeśli trzy zaewidencjonowania są kompilowane razem w jednej partii i kompilacja kończy się niepowodzeniem, system dodaje do kolejki poszczególne kompilacje z każdego z trzech zaewidencjonowań.

    Opcja ta stwarza jednak pewne ryzyko wzajemnego zakłócania zaewidencjonowań.Może to przykładowo występować, jeśli kilka zaewidencjonowań modyfikuje ten sam plik i występuje konflikt kontroli wersji.W takim wypadku, wcześniejsze zaewidencjonowanie jest zatwierdzone, a późniejsze są odrzucane.

  • Zdefiniuj kompilację tak, aby agent kompilacji wykonywał tylko tę pracę, która jest wymagana do sprawdzania jakości ewidencjonowanego kodu.Aby uzyskać więcej informacji, zobacz Wytyczne dotyczące ustawień na karcie Proces wcześniej w tym temacie.

  • Przeznacz maszynę kompilacji, która posiada silny sprzęt—na przykład szybki procesor i szybki dysk twardy—dla agenta kompilacji, który jest używany przez definicję kompilacji ewidencjonowanej warunkowo.

Uruchom ręcznie kompilacje ewidencjonowane warunkowo i kompilacje prywatne

Deweloperzy, którzy chcą nabrać więcej pewności na temat zmian, które ewidencjonują, mogą ręcznie dodawać do kolejki kompilacje z zestawu odłożonego.W przypadku takiego podejścia można określić jedną z dwóch opcji zachowania systemu, jeśli kompilacja się powiedzie:

  • System ewidencjonuje zmiany (ręczna kompilacja ewidencjonowana warunkowo): Ta opcja może być przydatna dla zespołów, które nie chcą wymagać zaewidencjonowań warunkowych, lecz mimo to, chcą pozwolić deweloperom na dobrowolne sprawdzenie ich kodu przed zaewidencjonowaniem.

  • System nie ewidencjonuje zmian (kompilacja prywatna): Deweloperzy mogą używać tej opcji, jeśli chcą sprawdzić niektóre zmiany w zestawie odłożonym, ale nie ewidencjonować ich.

Aby uzyskać więcej informacji, zobacz Kolejkowanie kompilacji.