Rozwiązywanie problemów z niepowodzeniem uruchamiania potoku

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

Jeśli kolejki potoku, ale nigdy nie są uruchamiane, sprawdź następujące elementy.

Uwaga

Następujące scenariusze nie będą używać zadania równoległego:

  • Jeśli używasz potoków wydania lub wieloetapowych potoków YAML, uruchomienie zużywa zadanie równoległe tylko wtedy, gdy jest aktywnie wdrażane na etapie. Gdy wydanie oczekuje na zatwierdzenie lub interwencję ręczną, nie korzysta z zadania równoległego.
  • Po uruchomieniu zadania serwera lub wdrożeniu w grupie wdrożenia przy użyciu potoków wydania nie są używane żadne zadania równoległe.

Dowiedz się więcej: Jak równoległe zadanie jest używane przez potok, dodawanie zatwierdzeń przed wdrożeniem, zadania serwera, grupy wdrożenia

Limity zadań równoległych — brak dostępnych agentów lub osiągnięto bezpłatne limity

Jeśli obecnie uruchamiasz inne potoki, być może nie masz żadnych pozostałych zadań równoległych lub możesz osiągnąć bezpłatne limity.

Sprawdzanie dostępnych zadań równoległych

Uwaga

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, potoki koń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 zażądać bezpłatnego udzielenia zadań równoległych dla organizacji, prześlij żądanie. Zezwól na 2–3 dni robocze, aby odpowiedzieć na żądanie udzielenia dotacji.

Aby sprawdzić limity, przejdź do pozycji Ustawienia projektu, Zadania równoległe.

Potoki współbieżne zadania

Jeśli używasz agentów hostowanych przez firmę Microsoft, sprawdź limity zadań równoległych hostowanych przez firmę Microsoft dla projektów prywatnych lub projektów publicznych, w zależności od tego, czy projekt usługi Azure DevOps jest projektem prywatnym (domyślnym) 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, być może nie masz żadnych pozostałych zadań równoległych lub możesz osiągnąć bezpłatne 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 usługi Azure Key Vault z potoku, zapora może blokować adres IP agenta usługi Azure DevOps Services. Adresy IP opublikowane w cotygodniowym pliku JSON muszą być dozwolone. Aby uzyskać więcej informacji, zobacz Agenci hostowani przez firmę Microsoft: Sieć.

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

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

  1. Aby sprawdzić limity, przejdź do pozycji Ustawienia projektu, Zadania równoległe.

    Limity współbieżnych potoków

    Możesz również uzyskać dostęp do tej strony, przechodząc do https://dev.azure.com/{org}/_settings/buildqueue?_a=concurrentJobsobszaru , lub wybierając pozycję Zarządzaj zadaniami równoległym z dzienników.

    Zarządzanie zadaniami równoległym

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

  3. Zobaczysz tekst z komunikatem Aktualnie uruchomione zadania X/X. Jeśli obie liczby są takie same, oczekujące zadania będą czekać na ukończenie aktualnie uruchomionych zadań.

    Wyświetlanie zadań w toku

    Wszystkie zadania, w tym zadania w kolejce, można wyświetlić, wybierając pozycję Pule agentów w ustawieniach projektu.

    Wyświetlanie zadań w kolejce

    W tym przykładzie limit współbieżnych zadań to jeden z uruchomionych zadań i jeden 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, więc jego pozycja jest jedną.

Twoje zadanie może czekać na zatwierdzenie

Potok może nie przejść do następnego etapu, ponieważ oczekuje na zatwierdzenie. Aby uzyskać więcej informacji, zobacz Definiowanie zatwierdzeń i kontroli.

Wszyscy dostępni agenci są w użyciu

Zadania mogą czekać, jeśli wszyscy agenci są obecnie zajęci. Aby sprawdzić agentów:

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

  2. Wybierz pulę agentów do sprawdzenia, w tym przykładzie FabrikamPool, a następnie wybierz pozycję Agenci.

    Status agenta

    Na tej stronie przedstawiono wszystkich agentów aktualnie w trybie online/offline i używanych. 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 potok ma wymagania, które nie spełniają możliwości żadnego z agentów, potok nie zostanie uruchomiony. Jeśli tylko niektórzy agenci mają żądane możliwości i obecnie działają inne potoki, potok zostanie zatrzymany do momentu udostępnienia jednego z tych agentów.

Aby sprawdzić możliwości i wymagania dotyczące agentów i potoków, zobacz Możliwości.

Uwaga

Możliwości i wymagania są zwykle używane tylko w przypadku własnych agentów. Jeśli potok ma wymagania, które nie są zgodne z możliwościami systemowymi agenta, chyba że jawnie oznaczono agentów pasującymi możliwościami, potoki 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.

czy włączono uwierzytelnianie anonimowe serwera TFS

Utracona komunikacja agenta

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łączone na stronie administracyjnej puli i niech wszystkie uruchomione kompilacje zakończą.
  • 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 mają wpływ 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 interwału w dobrej kondycji, 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. Zapoznaj się z tematem wdrażania agenta.

Agent zadania TFS nie został uruchomiony

Może to być scharakteryzowane przez komunikat w konsoli sieci Web "Oczekiwanie na żądanie agenta". Sprawdź, czy uruchomiono usługę systemu Windows TFSJobAgent (nazwa wyświetlana: Agent zadania w tle programu Visual Studio Team Foundation).

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

Może to być scharakteryzowane przez komunikat w konsoli sieci Web "Oczekiwanie na dane wyjściowe konsoli z agenta", a proces ostatecznie upłynął limit czasu.

Niezgodność adresu URL powiadomienia może spowodować, że proces procesu roboczego nie może nawiązać połączenia z serwerem. Zobacz Team Foundation Administracja istration Console , Application Tier (Warstwa aplikacji). Agent 1.x nasłuchuje kolejki komunikatów przy użyciu adresu URL, z którym został skonfigurowany. Jednak gdy komunikat zadania zostanie ściągnięty z kolejki, proces roboczy używa adresu URL powiadomienia do komunikacji z powrotem z serwerem.

Sprawdzanie stanu usługi Azure DevOps pod kątem degradacji 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ę w społeczności deweloperów.

Zachęcamy do Twoich sugestii: