Udostępnij za pośrednictwem


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.

Wyzwalacz ciągłej integracji.

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.

Monit o zaewidencjonowany

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

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.