Udostępnij za pośrednictwem


Rozwiązywanie problemów z awarią uruchamiania potoku

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Jeśli kolejka potoku się ustawia, ale nigdy się nie uruchamia, sprawdź następujące elementy.

Notatka

Następujące scenariusze nie będą wykorzystywać zasobu zadania równoległego:

  • Jeśli używasz potoków wdrażania lub wieloetapowych potoków YAML, proces zużywa zadanie równoległe tylko wtedy, gdy jest aktywnie wdrażany na etapie wdrażania. Gdy wydanie czeka na zatwierdzenie lub interwencję ręczną, nie obciąża zadania równoległego.
  • Po uruchomieniu zadania serwera lub wdrożeniu do grupy wdrożeniowej w potokach wydawniczych nie zużywa się żadnych zadań równoległych.

Dowiedz się więcej: Jak zadanie równoległe jest konsumowane przez potok, Dodaj zatwierdzenia przed wdrożeniem, Zadania serwera, Grupy wdrożeniowe

Limity zadań równoległych — brak dostępnych agentów lub wyczerpałeś swoje darmowe limity

Jeśli obecnie uruchamiasz inne potoki, możesz nie mieć już żadnych dostępnych zadań równoległych albo przekroczyłeś swoje darmowe limity .

Sprawdzanie dostępnych zadań równoległych

Notatka

Usługa Azure Pipelines tymczasowo wyłączyła automatyczne bezpłatne udzielanie zadań równoległych hostowanych przez firmę Microsoft w nowych organizacjach na potrzeby projektów publicznych i niektórych projektów prywatnych. Jeśli nie masz żadnych zadań równoległych, Twoje potoki zakończą się niepowodzeniem z powodu następującego błędu: ##[error]No hosted parallelism has been purchased or granted. To request a free parallelism grant, please fill out the following form https://aka.ms/azpipelines-parallelism-request. Sprawdź zadania równoległe hostowane przez firmę Microsoft zgodnie z opisem w poniższej sekcji, a jeśli masz zero zadań równoległych, możesz zażądać bezpłatnego udzielenia zadań równoległych. Aby wnioskować o przyznanie bezpłatnych równoległych zadań dla Twojej organizacji, prześlij wniosek. Przetwarzanie żądania może potrwać kilka dni roboczych.

Aby sprawdzić limity, przejdź do ustawienia programu Project, zadania równoległe.

Współbieżne zadania w potokach

Jeśli używasz agentów hostowanych przez Microsoft, sprawdź limity zadań równoległych dla agentów hostowanych przez Microsoft w projektach prywatnych lub projektach publicznych , w zależności od tego, czy twój projekt Azure DevOps jest projektem prywatnym (domyślnie) czy projektem publicznym.

Po przejrzeniu limitów sprawdź współbieżność, aby zobaczyć, ile zadań jest aktualnie uruchomionych i ile jest dostępnych.

Jeśli obecnie uruchamiasz inne potoki, możesz nie mieć już żadnych dostępnych zadań równoległych albo przekroczyłeś swoje darmowe limity .

Nie można uzyskać dostępu do usługi Azure Key Vault za zaporą z usługi Azure DevOps

Jeśli nie możesz uzyskać dostępu do Azure Key Vault z przepływu pracy, zapora może blokować adres IP agenta usług Azure DevOps. Adresy IP opublikowane w cotygodniowym pliku JSON muszą być dodane do listy dopuszczających. Aby uzyskać więcej informacji, zapoznaj się z Agentami hostowanymi przez Microsoft: Sieć.

Nie masz wystarczającej współbieżności

Aby sprawdzić, ile masz współbieżności:

  1. Aby sprawdzić limity, przejdź do ustawienia programu Project, zadania równoległe.

    limity potoków współbieżnych

    Możesz również uzyskać dostęp do tej strony, przechodząc do https://dev.azure.com/{org}/_settings/buildqueue?_a=concurrentJobslub wybierając zarządzanie zadaniami równoległymi z logów.

    Zarządzanie zadaniami równoległym

  2. Określ pulę, w której chcesz sprawdzić współbieżność (pule zarządzane przez firmę Microsoft lub własne), a następnie wybierz opcję Wyświetl zadania w toku.

  3. Zobaczysz tekst z Aktualnie wykonywane zadania X/X. Jeśli obie liczby są takie same, zadania oczekujące na wykonanie będą czekać, aż aktualnie uruchomione zadania zostaną ukończone.

    Wyświetl zadania w toku

    Wszystkie zadania, w tym zadania w kolejce, można wyświetlić, wybierając pule agentów z ustawień projektu .

    Wyświetl zadania w kolejce

    W tym przykładzie limit współbieżnych zadań wynosi jeden, z jednym zadaniem uruchomionym i jednym w kolejce. Gdy wszyscy agenci są zajęci uruchomionymi zadaniami, jak w tym przykładzie, podczas kolejkowania dodatkowych zadań jest wyświetlany następujący komunikat: The agent request is not running because all potential agents are running other requests. Current position in queue: 1. W tym przykładzie zadanie znajduje się w kolejce jako następne, więc jego pozycja to pierwsze miejsce.

Twoje zadanie może czekać na zatwierdzenie

Proces może nie przejść do następnego etapu przez to, że oczekuje na zatwierdzenie. Aby uzyskać więcej informacji, zobacz Definiowanie zatwierdzeń i sprawdzanie.

Wszyscy dostępni agenci są zajęci

Zadania mogą zostać opóźnione, jeśli wszyscy agenci są obecnie zajęci. Aby sprawdzić swoich agentów:

  1. Przejdź do https://dev.azure.com/{org}/_settings/agentpools

  2. Wybierz pulę agentów do sprawdzenia, w tym przykładzie FabrikamPooli wybierz pozycję Agents.

    stan agenta

    Na tej stronie wyświetlani są wszyscy agenci, którzy są obecnie online, offline lub w użyciu. Możesz również dodać dodatkowych agentów do puli z tej strony.

Wymagania, które nie są zgodne z możliwościami agenta

Jeśli twój pipeline ma wymagania, które nie są zgodne z możliwościami żadnego z agentów, pipeline nie zostanie uruchomiony. Jeśli tylko niektórzy z twoich agentów mają wymagane umiejętności, a oni obecnie obsługują inne potoki, twój potok zostanie wstrzymany do momentu, gdy jeden z tych agentów będzie dostępny.

Aby sprawdzić możliwości i wymagania zdefiniowane dla agentów i potoków, odwiedź Możliwości.

Notatka

Możliwości i wymagania są zwykle używane tylko w przypadku samodzielnie hostowanych agentów. Jeśli przepływ ma wymagania, które nie są zgodne z możliwościami systemowymi agenta, to chyba że agenci zostali jawnie oznaczeni pasującymi możliwościami, przepływy nie otrzymają agenta.

Problemy z połączeniem agenta TFS

Konfiguracja kończy się niepowodzeniem podczas testowania połączenia agenta (tylko lokalny serwer TFS)

Testing agent connection.
VS30063: You are not authorized to access http://<SERVER>:8080/tfs

Jeśli podczas konfigurowania agenta zostanie wyświetlony powyższy błąd, zaloguj się na maszynie TFS. Uruchom menedżera usług Internet Information Services (IIS). Upewnij się, że włączono uwierzytelnianie anonimowe.

jest włączone uwierzytelnianie anonimowe TFS

Utracono połączenie z agentem

Ten problem charakteryzuje się komunikatem o błędzie:

The job has been abandoned because agent did not renew the lock. Ensure agent is running, not sleeping, and has not lost communication with the service.

Ten błąd może wskazywać, że agent stracił komunikację z serwerem przez kilka minut. Sprawdź następujące kwestie, aby wykluczyć przerwy w działaniu sieci lub innych przerw na maszynie agenta:

  • Sprawdź, czy aktualizacje automatyczne są wyłączone. Ponowne uruchomienie maszyny z aktualizacji spowoduje niepowodzenie kompilacji lub wydania z powyższym błędem. Stosowanie aktualizacji w kontrolowany sposób, aby uniknąć tego typu przerw. Przed ponownym uruchomieniem maszyny agenta, oznacz agenta jako wyłączonego na stronie administracyjnej puli i pozwól, aby wszystkie uruchomione kompilacje zostały ukończone.
  • Sprawdź, czy ustawienia uśpienia są wyłączone.
  • Jeśli agent jest uruchomiony na maszynie wirtualnej, należy unikać migracji na żywo lub innych operacji konserwacji maszyny wirtualnej, które mogą poważnie wpłynąć na kondycję maszyny przez wiele minut.
  • Jeśli agent jest uruchomiony na maszynie wirtualnej, te same zalecenia dotyczące aktualizacji systemu operacyjnego i zalecenia dotyczące ustawień uśpienia mają zastosowanie do maszyny hosta. A także wszelkie inne operacje konserwacji, które w istotny sposób wpływają na maszynę hosta.
  • Rejestrowanie monitora wydajności lub inne rejestrowanie metryk kondycji może pomóc skorelować ten typ błędu z ograniczonymi dostępnością zasobów na maszynie agenta (dysk, pamięć, plik strony, procesor, sieć).
  • Innym sposobem skorelowania błędu z problemami z siecią jest wysłać polecenie ping do serwera na czas nieokreślony i zrzucić dane wyjściowe do pliku wraz ze znacznikami czasu. Użyj zdrowego interwału, na przykład 20 lub 30 sekund. Jeśli używasz usługi Azure Pipelines, chcesz wysłać polecenie ping do domeny internetowej, na przykład bing.com. Jeśli używasz lokalnego serwera TFS, chcesz wysłać polecenie ping do serwera w tej samej sieci.
  • Sprawdź, czy przepływność sieci maszyny jest odpowiednia. Możesz przeprowadzić test szybkości online, aby sprawdzić przepływność.
  • Jeśli używasz serwera proxy, sprawdź, czy agent jest skonfigurowany do używania serwera proxy. Odwołaj się do tematu wdrażania agenta.

Agent zadań TFS nie został uruchomiony

Może to być zasygnalizowane przez komunikat w konsoli internetowej "Oczekiwanie na żądanie agenta". Sprawdź, czy usługa TFSJobAgent (nazwa usługi: Agent zadania w tle programu Visual Studio Team Foundation) została uruchomiona.

Nieprawidłowo skonfigurowany adres URL powiadomienia (wersja agenta 1.x)

Może to objawiać się komunikatem w konsoli internetowej "Waiting for console output from an agent", jeśli ostatecznie proces przekracza limit czasu.

Niezgodność adresu URL powiadomienia może spowodować, że proces nie zdoła nawiązać połączenia z serwerem. Zobacz "Team Foundation Administration Console", "Application Tier". Agent 1.x nasłuchuje kolejki komunikatów, używając URL, na którym został skonfigurowany. Jednak gdy wiadomość zadania zostanie pobrana z kolejki, proces roboczy używa adresu URL powiadomienia do komunikowania się z powrotem z serwerem.

Sprawdzanie stanu usługi Azure DevOps w celu obniżenia wydajności usługi

Sprawdź Portal stanu usługi Azure DevOps pod kątem problemów, które mogą spowodować obniżenie poziomu usługi, takie jak zwiększony czas kolejki dla agentów. Aby uzyskać więcej informacji, zobacz Stan usługi Azure DevOps.

Potrzebuję więcej pomocy. Znaleziono usterkę. Mam sugestię. Gdzie mogę iść?

Uzyskiwanie subskrypcji, rozliczeń i pomocy technicznej

Zgłoś wszelkie problemy lub prześlij opinię na Developer Community.

Zachęcamy do Twoich sugestii: