Zdefiniowanie procesu Gated kompilacji wyboru, aby zatwierdzić zmiany
Gdy deweloper wprowadza zmianę, która narusza 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, biorąc pod uwagę utratę wydajności i opóźnienia harmonogramu.Można chronić część lub całą bazę kodu przed takimi problemami, tworząc definicję kompilacji ewidencjonowanej warunkowo.
W tym temacie
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 są automatycznie kompilowane. Mogą one być także testowane przez system kompilacji.
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 sprawdzenie ewidencjonowania przez kompilację na Zezwalaj.aby uzyskać więcej informacji, zobacz Team Foundation Uprawnienia serwera.
Zdefiniuj proces kompilacji ewidencjonowanej warunkowo
Wymagane uprawnienia
Aby wykonać tę procedurę, uprawnienie Edytuj definicję kompilacji należy ustawić na Zezwalaj.aby uzyskać więcej informacji, zobacz Team Foundation Uprawnienia serwera.
Aby zdefiniować kompilację ewidencjonowaną warunkowo
W Team Explorer:
W przypadku braku połączenia z projektem zespołowym, z którym chcesz rozpocząć pracę, połącz z projektem zespołowym.
Wybierz Start, a następnie Kompilacje
Na stronie Kompilacje wybierz Nowa definicja kompilacji.
Zostanie wyświetlone okno nowej definicji kompilacji.
Na karcie Wyzwalacz:
Wybierz Zaewidencjonowanie warunkowe.
(Opcjonalnie) 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.
Na karcie Obszar roboczy w tabeli Foldery robocze należy foldery kontroli wersji, które ta definicja kompilacji będzie kontrolować, zmapować na lokalne foldery agenta kompilacji.
Porada Podążaj według wskazówek:
Aby upewnić się, że proces kompilacji funkcjonuje poprawnie i poprawić wydajność, dołącz wszystkie foldery—i tylko te foldery—zawierające 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 przeciwnym razie, 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.
Na karcie Ustawienia domyślne kompilacji w celu zwiększenia wydajności, wybierz Ta kompilacja nie kopiuje plików wyjściowych do folderu docelowego.
Na karcie Proces w obszarze Utwórz szablon procesu, domyślnie zaznaczony jest szablon domyślny.W parametrze Elementy do kompilacji określ rozwiązania lub projekty kodu, które chcesz skompilować.
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 Wytyczne dla poprawy funkcjonowania procesu kompilacji i wydajności dalej w tym temacie.
Określ opcje procesu kompilacji na innych kartach.Aby uzyskać więcej informacji, zobacz Utwórz definicję kompilacji.
Wytyczne dla poprawy funkcjonowania procesu kompilacji i wydajności
Aby zminimalizować czas wymagany do przetworzenia kompilacji, rozważ następujące wytyczne określając wartości parametrów procesu kompilacji na karcie Proces.
Węzeł wymagany
Elementy do kompilacji, Konfiguracje do kompilacji: 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.
Węzeł podstawowy
Czyść obszar roboczy: Aby zwiększyć wydajność, ustaw tą wartość na Brak (zalecane) lub Dane wyjściowe.Jednak jest bardziej prawdopodobne, że zespół będzie pomijał uszkodzenia, na przykład wprowadzone podczas refaktoryzacji, jeżeli obszar roboczy nie jest wyczyszczony.Aby uzyskać więcej informacji, zobacz Zdefiniowanie procesu tworzenia, oparty na szablonie domyślne.
Wykonaj analizę kodu: Aby zwiększyć wydajność, ustaw tą wartość na Nigdy.
Ustawienia serwera symboli i źródła, Źródła indeksów: Aby zwiększyć wydajność, ustaw tą wartość na False.
Węzeł zaawansowany
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 będzie prawdopodobnie zbyt długo.
Utwórz element roboczy w przypadku awarii: System przyjmuje tę wartość jako False, nawet jeśli zostanie ustawiona na True.
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żna zwiększyć wydajność uruchamiając tylko wymagane testy.Aby wyznaczyć te testy, można filtrować je według kategorii lub priorytetu.Aby uzyskać więcej informacji, zobacz Testy w procesie budowania.
Źródła etykiet: Ustaw tą wartość na False.
Aby uzyskać więcej informacji na temat parametrów procesu kompilacji domyślnego szablonu, zobacz Zdefiniowanie procesu tworzenia, oparty na szablonie domyślne.
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 n przesłań 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 zaewidencjonowanie jest indywidualnie zatwierdzone lub odrzucone.
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.Gdy podejmowane jest takie podejście, 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 Kolejka kompilacji.