Tworzenie repozytoriów TFVC
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Ważne
Funkcja TFVC jest obsługiwana tylko przez potoki klasyczne i nie obsługuje języka YAML.
Wybieranie repozytorium do skompilowania
Podczas edytowania potoku korzystającego z repozytorium TFVC dostępne są następujące opcje.
- Oczyszczanie
- Określanie ścieżki lokalnej
- Źródła etykiet
Nazwa repozytorium
Nazwa repozytorium TFVC.
Mapowania (obszar roboczy)
Dołącz wartość typu Mapuj tylko foldery wymagane przez potok kompilacji. Jeśli podfolder folderu mapowanego zawiera pliki, których potok kompilacji nie wymaga, zamapuj go na wartość typu Cloak.
Upewnij się, że mapujesz wszystkie foldery zawierające pliki wymagane przez potok kompilacji. Na przykład w przypadku dodania innego projektu może być konieczne dodanie innego mapowania do obszaru roboczego.
Foldery klonowania , których nie potrzebujesz. Domyślnie folder główny projektu jest mapowany w obszarze roboczym. Ta konfiguracja powoduje pobranie wszystkich plików w folderze kontroli wersji projektu przez agenta kompilacji. Jeśli ten folder zawiera dużo danych, kompilacja może zmarnować zasoby systemowe kompilacji i spowolnić potok kompilacji, pobierając duże ilości danych, których nie wymaga.
Podczas usuwania projektów poszukaj mapowań, które można usunąć z obszaru roboczego.
Jeśli jest to kompilacja ciągłej integracji, w większości przypadków należy upewnić się, że te mapowania są zgodne z ustawieniami filtru wyzwalacza ciągłej integracji na karcie Wyzwalacze.
Aby uzyskać więcej informacji na temat optymalizowania obszaru roboczego tfVC, zobacz Optymalizowanie obszaru roboczego.
Czyszczenie repozytorium lokalnego na agencie
Przed uruchomieniem kompilacji można wykonać różne formy czyszczenia katalogu roboczego własnego agenta.
Ogólnie rzecz biorąc, aby zapewnić szybszą wydajność własnych agentów, nie usuwaj repozytorium. W tym przypadku, aby uzyskać najlepszą wydajność, upewnij się, że kompilujesz również przyrostowo, wyłączając dowolną opcję Wyczyść zadania lub narzędzia używanego do kompilowania.
Jeśli musisz wyczyścić repozytorium (na przykład uniknąć problemów spowodowanych przez pliki reszt z poprzedniej kompilacji), dostępne są poniższe opcje.
Uwaga
Czyszczenie nie jest istotne, jeśli używasz agenta hostowanego przez firmę Microsoft, ponieważ otrzymujesz nowego agenta za każdym razem w takim przypadku.
Jeśli chcesz wyczyścić repozytorium, wybierz pozycję true, a następnie wybierz jedną z następujących opcji:
Źródła: potok kompilacji wykonuje cofanie wszelkich zmian i spakuje bieżący obszar roboczy w obszarze
$(Build.SourcesDirectory)
.Źródła i katalog wyjściowy: ta sama operacja co opcja Źródła powyżej, a także: Usuwa i odtwarza
$(Build.BinariesDirectory)
element .Katalog źródeł: usuwa i odtwarza
$(Build.SourcesDirectory)
plik .Wszystkie katalogi kompilacji: usuwa i tworzy
$(Agent.BuildDirectory)
ponownie plik .
Wyzwalacze ciągłej integracji
Wybierz pozycję Włącz ciągłą integrację na karcie Wyzwalacze , aby włączyć ten wyzwalacz, jeśli chcesz, aby kompilacja uruchamiała się za każdym razem, gdy ktoś zaewidencjonuje kod.
Zmiany wsadowe
Zaznacz to pole wyboru, jeśli wielu członków zespołu często przekazuje zmiany i chcesz zmniejszyć liczbę uruchomionych kompilacji. Jeśli wybierzesz tę opcję, gdy kompilacja jest uruchomiona, system czeka na ukończenie kompilacji, a następnie kolejkuje kolejną kompilację wszystkich zmian, które nie zostały jeszcze skompilowane.
Możesz wsadować zmiany i tworzyć je razem.
Filtry ścieżek
Wybierz ścieżki kontroli wersji, które chcesz uwzględnić i wykluczyć. W większości przypadków należy upewnić się, że te filtry są zgodne z mapowaniami kontroli wersji serwera TEAMVC. Możesz użyć filtrów ścieżek, aby zmniejszyć zestaw plików, które chcesz wyzwolić kompilację.
Porady:
- Ścieżki są zawsze określane względem katalogu głównego obszaru roboczego.
- Jeśli nie ustawisz filtrów ścieżek, folder główny obszaru roboczego jest domyślnie dołączany niejawnie.
- Jeśli wykluczysz ścieżkę, nie można jej również uwzględnić, chyba że kwalifikujesz się do bardziej szczegółowego folderu. Jeśli na przykład wykluczysz /tools, możesz uwzględnić /tools/trigger-runs-on-these
- Kolejność filtrów ścieżek nie ma znaczenia.
Zaewidencjonowane zaewidencjonowane
Aby chronić się przed zmianami powodującym niezgodność, można korzystać z zaewidencjonowywania warunkowego.
Domyślnie wybrana jest opcja Użyj mapowań obszaru roboczego dla filtrów. Kompilacje są wyzwalane po każdym zaewidencjonowaniu zmiany w ścieżce określonej w mapowaniach źródła.
W przeciwnym razie możesz wyczyścić to pole wyboru i określić ścieżki w wyzwalaczu.
Wpływ na deweloperów
Podczas próby zaewidencjonowania deweloperzy są monitowani o utworzenie zmian.
Następnie system tworzy zestaw na półce i tworzy go.
Uwaga
Jeśli zostanie wyświetlony błąd, taki jak The shelveset _Build_95;Build\6bc8a077-3f27-4936-82e6-415fbd53ba07 could not be found for check-in
, sprawdź ustawienie Ogranicz zakres autoryzacji zadania do bieżącego projektu dla potoków innych niż wydania i upewnij się, że nie jest włączony.
Aby uzyskać szczegółowe informacje na temat środowiska zaewidencjonowania bramkowanego, zobacz Ewidencjonowanie w folderze kontrolowanym przez potok kompilacji zaewidencjonowanej bramki.
Opcja uruchamiania kompilacji ciągłej integracji
Domyślnie kompilacje ciągłej integracji nie są uruchamiane po zakończeniu procesu zaewidencjonowanego przez bramę i zaewidencjonowane zmiany.
Jeśli jednak chcesz, aby kompilacje ciągłej integracji działały po zaewidencjonowanym zaewidencjonowanym, zaznacz pole wyboru Uruchom wyzwalacze ciągłej integracji dla zatwierdzonych zmian. W takim przypadku potok kompilacji nie dodaje wartości ***NO_CI*** do opisu zestawu zmian. W związku z tym kompilacje ciągłej integracji, których dotyczy ewidencjonowanie, są uruchamiane.
Kilka innych rzeczy do poznania
- Upewnij się, że foldery uwzględnione w wyzwalaczu znajdują się również w mapowaniach obszaru roboczego.
- Możesz uruchamiać kompilacje bramowane na agencie hostowanym przez firmę Microsoft lub na własnym agencie.
Często zadawane pytania
Podczas uruchamiania potoku występuje następujący błąd:
The shelveset <xyz> could not be found for check-in
- Czy zakres autoryzacji zadania jest ustawiony na kolekcję? Repozytoria TFVC są zwykle rozmieszczone w projektach w kolekcji. Możesz odczytywać lub zapisywać w folderze, do którego można uzyskać dostęp tylko wtedy, gdy zakres jest całą kolekcją. Można to ustawić w ustawieniach organizacji lub w ustawieniu projektu na karcie Potoki .
Podczas uruchamiania potoku występuje następujący błąd:
The underlying connection was closed: An unexpected error occurred on a receive. ##[error]Exit code 100 returned from process: file name 'tf', arguments 'vc workspace /new /location:local /permission:Public
- Zazwyczaj jest to sporadyczne błędy spowodowane, gdy w usłudze występują problemy techniczne. Uruchom ponownie potok.
Co to jest scorch?
Scorch to narzędzie zasilania tfVC, które zapewnia kontrolę źródła na serwerze i dysku lokalnym są identyczne. Zobacz Microsoft Visual Studio Team Foundation Server 2015 Power Tools.