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.
- Limity zadań równoległych — brak dostępnych agentów lub osiągnąłeś swoje darmowe limity
- nie można uzyskać dostępu do usługi Azure Key Vault za zaporą z usługi Azure DevOps
- Nie masz wystarczającej liczby współbieżnych połączeń
- Zadanie może czekać na zatwierdzenie
- Wszyscy dostępni agenci są zajęci
- Wymagania niezgodne z możliwościami agenta
- sprawdzanie stanu usługi Azure DevOps pod kątem obniżenia wydajności usługi
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.
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:
Aby sprawdzić limity, przejdź do ustawienia programu Project, zadania równoległe.
Możesz również uzyskać dostęp do tej strony, przechodząc do
https://dev.azure.com/{org}/_settings/buildqueue?_a=concurrentJobs
lub wybierając zarządzanie zadaniami równoległymi z logów.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.
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.
Wszystkie zadania, w tym zadania w kolejce, można wyświetlić, wybierając pule agentów z ustawień projektu .
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:
Przejdź do
https://dev.azure.com/{org}/_settings/agentpools
Wybierz pulę agentów do sprawdzenia, w tym przykładzie FabrikamPooli wybierz pozycję Agents.
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 zawodzi podczas testowania połączenia agenta (tylko dla on-premises TFS)
- Agent stracił komunikację
- Agent Zadań TFS nie został uruchomiony
- nieprawidłowo skonfigurowany adres URL powiadomienia (wersja agenta 1.x)
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.
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: