Kontrola protokolů pro diagnostiku problémů s kanály

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019 | TFS 2018

Protokoly kanálů poskytují výkonný nástroj pro určení příčiny selhání kanálu.

Typickým výchozím bodem je kontrola protokolů v dokončených buildech nebo vydané verzi. Protokoly můžete zobrazit tak, že přejdete na souhrn spuštění kanálu a vyberete úlohu a úlohu. Pokud dojde k selhání určitého úkolu, zkontrolujte protokoly pro daný úkol.

Kromě zobrazení protokolů v souhrnu buildu kanálu si můžete stáhnout kompletní protokoly, které obsahují další diagnostické informace, a můžete nakonfigurovat podrobnější protokoly, které vám pomůžou s řešením potíží.

Konfigurace podrobných protokolů

Pokud chcete pomoct s řešením potíží, můžete nakonfigurovat protokoly tak, aby byly podrobnější.

  • Pokud chcete nakonfigurovat podrobné protokoly pro jedno spuštění, můžete spustit nové sestavení tak, že zvolíte Spustit kanál a vyberete Povolit diagnostiku systému, spustit.

    Povolení diagnostiky systému

  • Chcete-li nakonfigurovat podrobné protokoly pro všechna spuštění, můžete přidat proměnnou s názvem system.debug a nastavit její hodnotu na true.

  • Chcete-li nakonfigurovat podrobné protokoly pro jedno spuštění, můžete spustit nové sestavení výběrem možnosti Sestavení fronty a nastavením hodnoty proměnné system.debug na true.

  • Pokud chcete nakonfigurovat podrobné protokoly pro všechna spuštění, upravte sestavení, přejděte na kartu Proměnné a přidejte proměnnou s názvem system.debug, nastavte její hodnotu na truehodnotu a vyberte Povolit ve frontě.

  • Pokud chcete nakonfigurovat podrobné protokoly pro kanál YAML, přidejte system.debug proměnnou v variables části:

    variables:
      system.debug: true
    

Zobrazení a stažení protokolů

Pokud chcete zobrazit jednotlivé protokoly pro každý krok, přejděte na výsledky sestavení pro spuštění a vyberte úlohu a krok.

Protokol úloh

Pokud chcete stáhnout všechny protokoly, přejděte na výsledky sestavení pro spuštění, vyberte ...a zvolte Stáhnout protokoly.

Stažení protokolů

Pokud chcete stáhnout všechny protokoly, přejděte na výsledky sestavení pro spuštění a zvolte Stáhnout všechny protokoly jako zip.

Kromě diagnostických protokolů kanálu jsou k dispozici následující specializované typy protokolů a mohou obsahovat informace, které vám pomůžou řešit potíže.

Diagnostické protokoly pracovních procesů

Můžete získat diagnostický protokol dokončeného sestavení, který byl vygenerován pracovním procesem v agentovi sestavení. worker Vyhledejte soubor protokolu s datem a časovým razítkem dokončeného sestavení. Například, worker_20160623-192022-utc_6172.log.

Diagnostické protokoly agenta

Diagnostické protokoly agenta poskytují záznam o konfiguraci agenta a o tom, co se stalo při spuštění. agent Vyhledejte soubory protokolu. Například, agent_20160624-144630-utc.log. Existují dva druhy souborů protokolu agenta:

  • Soubor protokolu vygenerovaný při spuštění config.cmd. Tento protokol:

    • Zahrnuje tento řádek v horní části: Adding Command: configure

    • Zobrazuje provedené volby konfigurace.

  • Soubor protokolu vygenerovaný při spuštění run.cmd. Tento protokol:

    • Nelze otevřít, dokud se proces neukončil.

    • Pokouší se připojit k vaší organizaci Azure DevOps nebo k Team Foundation Serveru.

    • Zobrazuje, kdy byla každá úloha spuštěna a jak byla dokončena.

Oba protokoly ukazují, jak se detekovaly a nastavily možnosti agenta.

Další protokoly

V diagnostických protokolech najdete environment.txt a capabilities.txt.

Soubor environment.txt obsahuje různé informace o prostředí, ve kterém byl spuštěný váš build. Patří sem informace o tom, jaké úlohy se spouští, jestli je povolená brána firewall, informace o verzi PowerShellu a některé další položky. Tato data průběžně přidáváme, aby byla užitečnější.

Soubor capabilities.txt poskytuje čistý způsob, jak zobrazit všechny funkce nainstalované na počítači sestavení, na který jste spustili sestavení.

Protokoly trasování HTTP

Důležité

Trasování HTTP a trasovací soubory můžou obsahovat hesla a další tajné kódy. Neposílejte je na veřejné weby.

Použití integrovaného trasování HTTP

Pokud je váš agent verze 2.114.0 nebo novější, můžete trasovat hlavičky provozu HTTP a zapisovat je do diagnostického protokolu. Před spuštěním agenta.listener nastavte proměnnou VSTS_AGENT_HTTPTRACE prostředí.

Windows:
    set VSTS_AGENT_HTTPTRACE=true

macOS/Linux:
    export VSTS_AGENT_HTTPTRACE=true

Použití úplného trasování HTTP – Windows

  1. Spusťte Fiddler.

  2. Doporučujeme naslouchat jenom provozu agenta. Vypnutý provoz zachytávání souborů > (F12)

  3. Povolte dešifrování provozu HTTPS. Nástroje > Fiddler Options > HTTPS tab. Dešifrování provozu HTTPS

  4. Dejte agentu vědět, že používá proxy server:

    set VSTS_HTTP_PROXY=http://127.0.0.1:8888
    
  5. Spusťte agenta interaktivně. Pokud běžíte jako služba, můžete nastavit jako proměnnou prostředí v ovládacích panelech účtu, na kterém je služba spuštěná.

  6. Restartujte agenta.

Použití úplného trasování HTTP – macOS a Linux

K zachycení trasování protokolu HTTP agenta použijte Charles Proxy (podobně jako Fiddler ve Windows).

  1. Spusťte Charles Proxy.

  2. Charles: Karta SSL nastavení > proxy proxy serveru>. Povolte. Přidejte adresu URL.

  3. Charles: Proxy > Mac OSX Proxy. Doporučujeme zakázat jenom provoz agenta.

    export VSTS_HTTP_PROXY=http://127.0.0.1:8888
    
  4. Spusťte agenta interaktivně. Pokud je spuštěná jako služba, můžete ji nastavit v souboru .env. Viz služba nix

  5. Restartujte agenta.