Sdílet prostřednictvím


Agenti Azure Pipelines

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

K sestavení kódu nebo nasazení softwaru pomocí Azure Pipelines potřebujete aspoň jednoho agenta. S růstem základu kódu a týmu budete potřebovat více agentů.

Když se kanál spustí, systém spustí jednu nebo více úloh. Agent je výpočetní infrastruktura s nainstalovaným softwarem agenta, který spouští jednu úlohu najednou.

Azure Pipelines poskytuje několik různých typů agentů.

Typ agenta Popis Dostupnost
Agenti hostovaní Microsoftem Agenti hostovaní a spravovaní Microsoftem Služby Azure DevOps
Agenti v místním prostředí Agenti, které konfigurujete a spravujete, hostované na virtuálních počítačích Azure DevOps Services, Azure DevOps Server
Agenti škálovací sady virtuálních počítačů Azure Forma agentů v místním prostředí využívajících Škálovací sady virtuálních počítačů Azure, která se dá automaticky škálovat tak, aby splňovala požadavky Služby Azure DevOps

Úlohy je možné spouštět přímo na hostitelském počítači agenta nebo v kontejneru.

Agenti hostovaní Microsoftem

Pokud jsou vaše kanály ve službě Azure Pipelines, máte výhodnou možnost spouštět úlohy pomocí agenta hostovaného Microsoftem. Agenti hostovaní Microsoftem se o údržbu a upgrady postarají za nás. Vždy získáte nejnovější verzi image virtuálního počítače, kterou zadáte ve svém kanálu. Při každém spuštění kanálu dostanete čistý virtuální počítač pro každou úlohu v kanálu. Virtuální počítač se zahodí po jedné úloze (což znamená, že jakákoli změna, kterou úloha provede v systému souborů virtuálního počítače, například rezervaci kódu, nebude pro další úlohu dostupná). Agenti hostovaní Microsoftem můžou spouštět úlohy přímo na virtuálním počítači nebo v kontejneru.

Azure Pipelines poskytuje předdefinovaný fond agentů s názvem Azure Pipelines s agenty hostovanými Microsoftem.

Pro mnoho týmů je to nejjednodušší způsob, jak spouštět úlohy. Nejdřív ho můžete vyzkoušet a zjistit, jestli funguje pro sestavení nebo nasazení. Pokud ne, můžete použít agenty škálovací sady nebo agenta v místním prostředí.

Tip

Agenta hostovaného Microsoftem můžete vyzkoušet bez poplatků.

Přečtěte si další informace o agentech hostovaných Microsoftem.

Agenti v místním prostředí

Agent, kterého nastavíte a spravujete sami pro spouštění úloh, je agent v místním prostředí. Agenty v místním prostředí můžete používat ve službě Pipelines nebo ve službě Azure DevOps Server dříve označované také jako Team Foundation Server (TFS). Agenti v místním prostředí nabízejí větší kontrolu nad instalací závislého softwaru potřebného k vašim kompilacím a nasazením. Mezipaměti a konfigurace na úrovni počítače se také zachovají po spuštění, což může zvýšit rychlost.

Poznámka:

Přestože na počítač lze nainstalovat více agentů, důrazně doporučujeme nainstalovat pouze jednoho agenta na počítač. Instalace dvou nebo více agentů může nepříznivě ovlivnit výkon a výsledek vašich kanálů.

Tip

Před instalací agenta v místním prostředí můžete chtít zjistit, jestli bude fond agentů hostovaných Microsoftem fungovat za vás. V mnohapřípadechchch Zkuste to zkusit.

Agenta můžete instalovat na počítače s Linuxem, macOS nebo Windows. Agenta také můžete nainstalovat do kontejneru Dockeru. Další informace o instalaci agenta v místním prostředí najdete tady:

Poznámka:

V systému macOS musíte vymazat speciální atribut v archivu stahování, aby se zabránilo zobrazení ochrany Gatekeeper pro každé sestavení v souboru tar při ./config.sh spuštění. Následující příkaz vymaže rozšířený atribut souboru:

xattr -c vsts-agent-osx-x64-V.v.v.tar.gz  ## replace V.v.v with the version in the filename downloaded.

# then unpack the gzip tar file normally:

tar xvfz vsts-agent-osx-x64-V.v.v.tar.gz

Po instalaci agenta na počítač můžete na tento počítač podle potřeby nainstalovat jakýkoli jiný software.

Poznámka:

Agenti jsou široce zpětně kompatibilní. Jakákoli verze agenta by měla být kompatibilní s jakoukoli verzí Azure DevOps, pokud Azure DevOps nevyžaduje vyšší verzi agenta.

Podporujeme jenom nejnovější verzi agenta, protože je to jediná verze, která zaručuje, že všechny aktuální opravy a opravy chyb.

Verze Node Runneru

Agent se dodává s několika verzemi knihoven NodeJS pro podporu cílových úloh, které používají různé obslužné rutiny uzlů.

Všechny oficiální úlohy Azure DevOps používají Node 20 jako univerzální obslužnou rutinu, ale zákazníci můžou i nadále používat vlastní úlohy, které používají knihovny Node 6, Node 10 nebo Node 16. Abychom zajistili zpětnou kompatibilitu s Uzlem, který aktuálně dosáhl konce životnosti, poskytujeme následující samoobslužné metody ruční instalace určeného spouštěče Node.

  • Ručně nainstalujte spouštěč Node 6. Další informace o ruční instalaci Spouštěče Node 6 najdete v tématu Podpora Node 6, kde najdete další podrobnosti.

  • V kanálech použijte NodeTaskRunnerInstaller@0 úlohu, která vyžaduje zastaralou knihovnu Node 6.

  • Nainstalujte balíček agenta, který obsahuje Node 6.

    Azure Pipelines poskytuje dvě verze balíčků agentů.

    • Balíčky vsts-agent-* podporují Node 6.
    • Balíčky pipelines-agent-* nepodporují Node 6. Tato verze balíčku se v budoucnu stane výchozím balíčkem agenta.

    Pokud víte, že nepoužíváte žádné závislé úlohy Node 6 a nechcete, aby byl na počítači agenta nainstalovaný Node 6, můžete agenta nainstalovat z části Stažení alternativního agenta z https://github.com/microsoft/azure-pipelines-agent/releases.

Agenti škálovací sady virtuálních počítačů Azure

Agenti škálovací sady virtuálních počítačů Azure jsou formou agentů v místním prostředí, které je možné automaticky škálovat tak, aby splňovaly vaše požadavky. Díky této elasticitě nemusí být vyhrazení agenti spuštěni celou dobu. Na rozdíl od agentů hostovaných Microsoftem můžete flexibilně volit velikost a image počítačů, na kterých agenti běží.

Zadáte škálovací sadu virtuálních počítačů, počet agentů, kteří budou v pohotovostním režimu, maximální počet virtuálních počítačů ve škálovací sadě a Azure Pipelines za vás spravuje škálování vašich agentů.

Další informace najdete v tématu Agenti škálovací sady virtuálních počítačů Azure.

Paralelní úlohy

Paralelní úlohy představují počet úloh, které můžete spustit současně ve vaší organizaci. Pokud má vaše organizace jednu paralelní úlohu, můžete v organizaci spustit jednu úlohu najednou, přičemž všechny další souběžné úlohy se zařadí do fronty, dokud se první úloha neskončí. Ke spuštění dvou úloh současně potřebujete dvě paralelní úlohy. Ve službě Azure Pipelines můžete spouštět paralelní úlohy v infrastruktuře hostované Microsoftem nebo ve vlastní (interně hostované) infrastruktuře.

Microsoft ve výchozím nastavení poskytuje bezplatnou úroveň služby v každé organizaci, která zahrnuje alespoň jednu paralelní úlohu. V závislosti na počtu souběžných kanálů, které potřebujete spustit, můžete potřebovat více paralelních úloh, abyste mohli současně používat více agentů hostovaných Microsoftem nebo agentů hostovaných v místním prostředí. Další informace o paralelních úlohách a různých úrovních free služby najdete v tématu Paralelní úlohy v Azure Pipelines.

Možná budete potřebovat více paralelních úloh, abyste mohli současně používat více agentů:

Důležité

Od Azure DevOps Serveru 2019 nemusíte platit za souběžné úlohy v místních verzích. Jste omezeni pouze počtem agentů, které máte.

Možnosti

Každý agent v místním prostředí má sadu funkcí, které označují, co může dělat. Schopnosti jsou páry název-hodnota, které jsou automaticky zjištěny softwarem agenta, označované jako systémové funkce nebo schopnosti, které definujete, označované jako uživatelské funkce.

Software agenta automaticky určuje různé systémové funkce, jako je název počítače, typ operačního systému a verze určitého softwaru nainstalovaného na počítači. Proměnné prostředí definované v počítači se také automaticky zobrazí v seznamu systémových funkcí.

Poznámka:

Ukládání proměnných prostředí jako schopností znamená, že při spuštění agenta se uložené hodnoty schopností používají k nastavení proměnných prostředí. Všechny změny proměnných prostředí, které se provádějí v době, kdy je agent spuštěný, se také nebudou vyzvednout a používat žádnými úlohami. Pokud máte citlivé proměnné prostředí, které se mění a nechcete je ukládat jako funkce, můžete je ignorovat nastavením VSO_AGENT_IGNORE proměnné prostředí s čárkami odděleným seznamem proměnných, které se mají ignorovat. Je to například kritická proměnná, PATH kterou můžete chtít ignorovat, pokud instalujete software.

Při vytváření kanálu zadáte určité požadavky agenta. Systém odešle úlohu pouze agentům, kteří mají schopnosti odpovídající požadavkům zadaným v kanálu. Díky tomu vám možnosti agenta umožňují směrovat úlohy na konkrétní agenty.

Poznámka:

Požadavky a možnosti jsou navržené pro použití s agenty v místním prostředí, aby se úlohy mohly shodovat s agentem, který splňuje požadavky úlohy. Při použití agentů hostovaných Microsoftem vyberete image agenta, která odpovídá požadavkům úlohy, takže i když je možné přidat funkce do agenta hostovaného Microsoftem, nemusíte používat funkce s agenty hostovanými Microsoftem.

Konfigurace požadavků

Pokud chcete do kanálu buildu YAML přidat poptávku, přidejte demands: řádek do oddílu pool .

pool:
  name: Default
  demands: SpecialSoftware # exists check for SpecialSoftware

Můžete zkontrolovat existenci funkce nebo provést porovnání s hodnotou schopnosti. Další informace naleznete v tématu YAML schéma – Požadavky.

Konfigurace možností agenta

Podrobnosti o agentu, včetně jeho verzí a systémových funkcí, a spravovat jeho uživatelské funkce můžete tak, že přejdete do fondů agentů a vyberete kartu Možnosti požadovaného agenta.

  1. Ve webovém prohlížeči přejděte do fondů agentů:

    1. Přihlaste se ke své organizaci (https://dev.azure.com/{yourorganization}).

    2. Zvolte Azure DevOps, nastavení organizace.

      Zvolte nastavení organizace.

    3. Zvolte fondy agentů.

      Zvolte kartu Fondy agentů.

    1. Přihlaste se ke své kolekci projektů (http://your-server/DefaultCollection).

    2. Zvolte Azure DevOps, nastavení kolekce.

      Zvolte nastavení kolekce.

    3. Zvolte fondy agentů.

      Zvolte fondy agentů.

    1. Zvolte Azure DevOps, nastavení kolekce.

      Nastavení kolekce, 2019.

    2. Zvolte fondy agentů.

      Zvolte fondy agentů, 2019.

  2. Přejděte na kartu schopností:

    1. Na kartě Fondy agentů vyberte požadovaný fond agentů.

      Ve fondech agentů vyberte požadovaný fond agentů.

    2. Vyberte Agenty a zvolte požadovaného agenta.

      Vyberte Agenty a zvolte agenta.

    3. Zvolte kartu Schopnosti.

      Zvolte kartu Schopnosti.

      Poznámka:

      Agenti hostovaní Microsoftem nezobrazují systémové funkce. Seznam softwaru nainstalovaných na agentech hostovaných Microsoftem najdete v tématu Použití agenta hostovaného Microsoftem.

    1. Na kartě Fondy agentů vyberte požadovaný fond.

      Vyberte požadovaný fond.

    2. Vyberte Agenty a zvolte požadovaného agenta.

      Vyberte Agenty a zvolte požadovaného agenta.

    3. Zvolte kartu Schopnosti.

      Karta Možnosti agenta

    1. Na kartě Fondy agentů vyberte požadovaný fond.

      Vyberte požadovanou kartu 2019.

    2. Vyberte Agenty a zvolte požadovaného agenta.

      Zvolte požadovaného agenta 2019.

    3. Zvolte kartu Schopnosti.

      Zvolte kartu Možnosti, 2019.

  3. Pokud chcete u agenta zaregistrovat novou funkci, zvolte Přidat novou funkci.

Tip

Po instalaci nového softwaru na agenta v místním prostředí je nutné restartovat agenta, aby se nová funkce zobrazila. Další informace najdete v tématu Restartování agenta systému Windows, restartování agenta Linuxu a restartování agenta systému Mac.

Komunikace

Komunikace s Azure Pipelines

Komunikace s Azure DevOps Serverem

Agent komunikuje se službou Azure Pipelines nebo se službou Azure DevOps Server, aby zjistil, jaké úlohy je potřeba spustit, a nahlásil protokoly a stav úloh. Agent vždy zahájí tuto komunikaci. Všechny zprávy agenta posílané službě Azure Pipelines nebo Azure DevOps Server používají protokol HTTP nebo HTTPS podle toho, jak je nakonfigurovaný agent. Tento model vyžádání změn umožňuje, aby byl agent nakonfigurovaný v různých topologiích, jak je znázorněno v následujících příkladech.

Topologie agentů v místních instalacích

Topologie agentů v Azure DevOps Services

Tady je běžný komunikační model mezi agentem a Azure Pipelines nebo Azure DevOps Serverem.

  1. Uživatel zaregistruje agenta ve službě Azure Pipelines nebo Azure DevOps Serveru tak, že ho přidá do fondu agentů. Abyste mohli zaregistrovat agenta ve fondu agentů, musíte být správcem fondu agentů. Identita správce fondu agentů je nutná pouze v době registrace a není v agentovi zachována. Nepoužívá se v žádné další komunikaci mezi agentem a Azure Pipelines nebo Azure DevOps Serverem. Po dokončení registrace agent stáhne token OAuth naslouchacího procesu a použije ho k naslouchání frontě úlohy.

  2. Agent naslouchá tomu, aby zjistil, jestli se pro ni publikuje nová žádost o úlohu ve frontě úloh ve službě Azure Pipelines nebo Azure DevOps Server pomocí dlouhého dotazování HTTP. Pokud je úloha dostupná, agent stáhne úlohu a token OAuth specifický pro úlohu. Azure Pipelines/Azure DevOps Server vygeneruje krátkodobý token pro vymezenou identitu zadanou v kanálu. Token používá agent k přístupu k prostředkům v Azure Pipelines nebo Azure DevOps Serveru v rámci této úlohy nebo k úpravě prostředků. Například pro přístup ke zdrojovému kódu nebo nahrání výsledků testu.

  3. Agent po dokončení úlohy zahodí token OAuth specifický pro úlohu a pak se vrátí k kontrole, jestli existuje nový požadavek na úlohu pomocí tokenu OAuth naslouchacího procesu.

K zabezpečení datové části zpráv vyměňovaných mezi agentem a službou Azure Pipelines nebo Azure DevOps Server se používá asymetrické šifrování. Každý agent má pár složený z veřejného a privátního klíče. Při registraci probíhá výměna veřejného klíče se serverem. Server používá veřejný klíč k šifrování datových částí úloh před jejich odesláním agentovi. Agent použije k dešifrování obsahu úlohy svůj privátní klíč. Tato metoda zabezpečuje tajné kódy uložené v kanálech nebo skupinách proměnných při výměně s agentem.

Poznámka:

Agent poskytuje podporu pro výstup kódování klienta UTF-8. Pokud má ale váš systém jiné kódování než UTF-8, může dojít k problémům s výstupem protokolů. Protokoly můžou například obsahovat znaky, které kódování systému nerozpoznalo, aby se mohly zobrazit jako zkomolené nebo chybějící symboly.

Komunikace při nasazení na cílové servery

Pokud agenta používáte k nasazení artefaktů na sadu serverů, musí být tyto servery připojeny tzv. na dohled. Fondy agentů hostované Microsoftem jsou automaticky připojeny k webům a serverům Azure, které běží v Azure.

Poznámka:

Pokud vaše prostředky Azure běží ve virtuální síti Azure, můžete získat rozsahy IP adres agenta, ve kterých jsou nasazeni agenti hostovaní Microsoftem, abyste mohli nakonfigurovat pravidla brány firewall pro virtuální síť Azure tak, aby povolovaly přístup agentem.

Pokud vaše místní prostředí nemají připojení k fondu agentů hostovaných Microsoftem, což je obvykle příčinou zprostředkující brány firewall, musíte ručně nakonfigurovat agenty v místních počítačích. Agenti musí mít připojení k cílovým místním prostředím a přístup k internetu pro připojení k Azure Pipelines nebo Team Foundation Serveru, jak je znázorněno v následujícím schématu.

Připojení agenta pro místní prostředí

Ověřování

Pokud chcete zaregistrovat agenta, musíte být členem role správce ve fondu agentů. Identita správce fondu agentů je nutná pouze v době registrace a není v agentovi zachována. Nepoužívá se v žádné následné komunikaci mezi agentem a Azure Pipelines nebo Azure DevOps Serverem. Ke konfiguraci agenta musíte být také místním správcem serveru.

Při registraci agenta vyberte z následujících typů ověřování a instalační program agenta vás vyzve k zadání konkrétních dalších informací požadovaných pro každý typ ověřování. Další informace najdete v tématu Možnosti ověřování agenta v místním prostředí.

  • Osobní přístupový token
  • Alternativní připojení k Azure DevOps Serveru nebo TFS pomocí základního ověřování Když vyberete Možnost Alternativní , zobrazí se výzva k zadání přihlašovacích údajů.

Agenti Windows mají navíc na Azure DevOps Serveru následující dvě možnosti ověřování.

  • Negotiate Connect to Azure DevOps Server as a user other than the signed-in user via a Windows authentication scheme such such as New Technology LAN Manager (NTLM) nebo Kerberos. Po výběru možnosti Negotiate se zobrazí výzva k zadání přihlašovacích údajů.
  • Integrované (výchozí) Připojení agenta Windows k Azure DevOps Serveru pomocí přihlašovacích údajů přihlášeného uživatele prostřednictvím schématu ověřování Systému Windows, jako je NTLM nebo Kerberos. Po výběru této metody se nezobrazí výzva k zadání přihlašovacích údajů.

Důležité

Server musí být nakonfigurovaný tak, aby podporoval metodu ověřování pro použití alternativního, vyjednacího nebo integrovaného ověřování.

Metoda ověřování použitá k registraci agenta se používá pouze při registraci agenta. Další informace o tom, jak agenti komunikují se službou Azure Pipelines po registraci, najdete v tématu Komunikace se službou Azure Pipelines nebo Azure DevOps Serverem.

Interaktivní proces nebo služba

Agenta v místním prostředí můžete spustit buď jako službu, nebo jako interaktivní proces.

Jakmile agenta nakonfigurujete, doporučujeme ho nejdřív vyzkoušet v interaktivním režimu, abyste měli jistotu, že funguje. V ostrém provozu doporučujeme spustit agenta v jednom z následujících režimů, které spolehlivě zachovají jeho provozuschopnost. Tyto režimy také zajistí, že se v případě restartu počítače agent spustí automaticky.

  1. Jako služba. Ke správě životního cyklu agenta můžete použít správce služeb operačního systému. Prostředí pro automatické nasazení agenta je navíc lepší při spuštění agenta jako služby.

  2. Jako interaktivní proces s povoleným automatickým přihlášením. V některých případech možná bude potřeba spustit agenta v ostrém provozu interaktivně, například při spouštění testů uživatelského rozhraní. Pokud je agent nakonfigurovaný tak, aby běžel v tomto režimu, je také vypnutý spořič obrazovky. Některé zásady domény vám můžou bránit v povolení automatického přihlášení nebo zakázání spořiče obrazovky. V takových případech může být potřeba vyhledat výjimku ze zásad domény nebo spustit agenta na počítači pracovní skupiny, kde se zásady domény nevztahují.

    Poznámka:

    Existují bezpečnostní rizika, když povolíte automatické přihlášení nebo zakážete spořič obrazovky, protože ostatním uživatelům umožníte chodit do počítače a používat účet, který se automaticky přihlásí. Pokud nakonfigurujete agenta tak, aby běžel tímto způsobem, musíte zajistit, aby byl počítač fyzicky chráněn; Nachází se například v zabezpečeném zařízení. Pokud pro přístup k počítači, na kterém běží agent s automatickým přihlášením, používáte vzdálenou plochu, jednoduše zavřete vzdálenou plochu a všechny testy uživatelského rozhraní spuštěné v tomto agentu můžou selhat. Pokud se tomu chcete vyhnout, pomocí příkazu tscon se odpojte od vzdálené plochy. Příklad:

    %windir%\System32\tscon.exe 1 /dest:console

Účet agenta

Bez ohledu na to, jestli agenta spouštíte jako službu nebo interaktivně, můžete zvolit, který účet počítače používáte ke spuštění agenta. Volba účtu agenta závisí výhradně na potřebách úloh spuštěných ve vašich úlohách sestavení a nasazení.

Pokud například chcete spouštět úlohy pomocí ověřování systému Windows pro přístup k externí službě, musí agent spustit pomocí účtu s přístupem k této službě. Pokud ale spouštíte testy uživatelského rozhraní, jako jsou selenium nebo programové testy uživatelského rozhraní, které vyžadují prohlížeč, prohlížeč se spustí v kontextu účtu agenta.

Ve Windows byste měli zvážit použití účtu služby, jako je síťová služba nebo místní služba. Tato oprávnění účtů jsou omezená a jejich hesla nevyprší, což znamená, že agent v průběhu času vyžaduje menší správu.

Tyto přihlašovací údaje se liší od přihlašovacích údajů, které používáte při registraci agenta v Azure Pipelines nebo Azure DevOps Serveru.

Verze a upgrady agenta

Software agenta aktualizujeme každých několik týdnů v Azure Pipelines. Označujeme verzi agenta ve formátu {major}.{minor}. Pokud je 2.1například verze agenta , hlavní verze je 2 a podverze je 1.

Agenti hostovaní Microsoftem jsou vždy aktuální. Pokud se novější verze agenta liší jenom v podverzi , azure Pipelines může automaticky aktualizovat agenty v místním prostředí. Toto nastavení můžete nakonfigurovat ve fondech agentů, vybrat svého agenta, Nastavení – výchozí nastavení je povolené. Upgrade se vyžaduje, když funkce platformy nebo jedna z úloh používaných v kanálu vyžaduje novější verzi agenta.

Pokud spouštíte agenta v místním prostředí interaktivně nebo pokud je k dispozici novější hlavní verze agenta, budete možná muset agenty upgradovat ručně. Agenty můžete snadno upgradovat na kartě Fondy agentů ve vaší organizaci. Kanály nejde spustit bez kompatibilního agenta

Aktualizace agentů v místním prostředí

  1. Přejděte do nastavení projectu, fondy agentů.

    Nastavení projektu, fondy agentů

  2. Vyberte fond agentů a zvolte Aktualizovat všechny agenty.

    Aktualizace všech agentů

    Agenty můžete aktualizovat také jednotlivě tak, že v nabídce ... zvolíte aktualizačního agenta.

    Aktualizace agenta

  3. Výběrem možnosti Aktualizovat potvrďte aktualizaci.

    Potvrzení aktualizace všech agentů

  4. Žádost o aktualizaci se zařadí do fronty pro každého agenta ve fondu a spustí se po dokončení všech aktuálně spuštěných úloh. Upgrade obvykle trvá jen pár okamžiků – dost dlouho na stažení nejnovější verze softwaru agenta (přibližně 200 MB), jeho rozbalení a restartování agenta s novou verzí. Stav agentů můžete monitorovat na kartě Agenti .

Software agenta aktualizujeme každou aktualizací na Azure DevOps Serveru. Označujeme verzi agenta ve formátu {major}.{minor}. Pokud je 2.1například verze agenta , hlavní verze je 2 a podverze je 1.

Pokud má váš Azure DevOps Server novější verzi agenta a novější agent se v podverzi liší, může se obvykle automaticky upgradovat. Upgrade se vyžaduje, když funkce platformy nebo jedna z úloh používaných v kanálu vyžaduje novější verzi agenta. Od Azure DevOps Serveru 2019 nemusíte čekat na novou verzi serveru. Do vrstvy aplikace můžete nahrát novou verzi agenta a tato verze se nabízí jako upgrade.

Pokud agenta spustíte interaktivně nebo pokud je k dispozici novější hlavní verze agenta, budete možná muset agenty upgradovat ručně. Agenta můžete snadno upgradovat z karty Fondy agentů v kolekci projektů. Kanály se nedají spustit bez kompatibilního agenta.

Verzi agenta můžete zobrazit tak, že přejdete do fondů agentů a vyberete kartu Schopnosti požadovaného agenta, jak je popsáno v části Konfigurace možností agenta.

Pokud chcete aktivovat aktualizaci agenta prostřednictvím kódu programu, můžete použít rozhraní API aktualizace agenta, jak je popsáno v části Jak můžu aktivovat aktualizace agenta programově pro konkrétní fond agentů?

Poznámka:

Pro servery bez přístupu k internetu ručně zkopírujte soubor ZIP agenta do následující složky, která se použije jako místní soubor. Vytvořte složku Agenti, pokud není k dispozici.

  • Windows: %ProgramData%\Microsoft\Azure DevOps\Agents
  • Linux: usr/share/Microsoft/Azure DevOps/Agents
  • macOS: usr/share/Microsoft/Azure DevOps/Agents

Složku Agenti vytvořte, pokud není k dispozici.

Často kladené dotazy

Návody se ujistěte, že mám nejnovější verzi agenta v2?

  1. Přejděte na kartu Fondy agentů:

    1. Přihlaste se ke své organizaci (https://dev.azure.com/{yourorganization}).

    2. Zvolte Azure DevOps, nastavení organizace.

      Zvolte nastavení organizace.

    3. Zvolte fondy agentů.

      Zvolte kartu Fondy agentů.

    1. Přihlaste se ke své kolekci projektů (http://your-server/DefaultCollection).

    2. Zvolte Azure DevOps, nastavení kolekce.

      Zvolte nastavení kolekce.

    3. Zvolte fondy agentů.

      Zvolte fondy agentů.

    1. Zvolte Azure DevOps, nastavení kolekce.

      Nastavení kolekce, 2019.

    2. Zvolte fondy agentů.

      Zvolte fondy agentů, 2019.

  2. Klikněte na fond, který obsahuje agenta.

  3. Ujistěte se, že je agent povolený.

  4. Přejděte na kartu schopností:

    1. Na kartě Fondy agentů vyberte požadovaný fond agentů.

      Ve fondech agentů vyberte požadovaný fond agentů.

    2. Vyberte Agenty a zvolte požadovaného agenta.

      Vyberte Agenty a zvolte agenta.

    3. Zvolte kartu Schopnosti.

      Zvolte kartu Schopnosti.

      Poznámka:

      Agenti hostovaní Microsoftem nezobrazují systémové funkce. Seznam softwaru nainstalovaných na agentech hostovaných Microsoftem najdete v tématu Použití agenta hostovaného Microsoftem.

    1. Na kartě Fondy agentů vyberte požadovaný fond.

      Vyberte požadovaný fond.

    2. Vyberte Agenty a zvolte požadovaného agenta.

      Vyberte Agenty a zvolte požadovaného agenta.

    3. Zvolte kartu Schopnosti.

      Karta Možnosti agenta

    1. Na kartě Fondy agentů vyberte požadovaný fond.

      Vyberte požadovanou kartu 2019.

    2. Vyberte Agenty a zvolte požadovaného agenta.

      Zvolte požadovaného agenta 2019.

    3. Zvolte kartu Schopnosti.

      Zvolte kartu Možnosti, 2019.

  5. Agent.Version Vyhledejte možnost. Tuto hodnotu můžete zkontrolovat u nejnovější publikované verze agenta. Podívejte se na agenta Azure Pipelines a podívejte se na stránku s nejvyšším uvedeným číslem verze.

  6. Každý agent se automaticky aktualizuje, když spustí úlohu, která vyžaduje novější verzi agenta. Pokud chcete některé agenty aktualizovat ručně, klikněte pravým tlačítkem na fond a vyberte Aktualizovat všechny agenty.

Můžu aktualizovat agenty v2, kteří jsou součástí fondu Azure DevOps Serveru?

Ano. Od Azure DevOps Serveru 2019 můžete nakonfigurovat server tak, aby hledal soubory balíčků agentů na místním disku. Tato konfigurace přepíše výchozí verzi, která byla součástí serveru v době vydání. Tento scénář platí také v případě, že server nemá přístup k internetu.

  1. Z počítače s přístupem k internetu stáhněte nejnovější verzi souborů balíčku agenta (v .zip nebo .tar.gz formuláři) ze stránky vydání agenta Azure Pipelines Na GitHubu.

  2. Přeneste stažené soubory balíčků do každé aplikační vrstvy serveru Azure DevOps pomocí zvolené metody (jako je usb disk, síťový přenos atd.). Umístěte soubory agenta %ProgramData%\Microsoft\Azure DevOps\Agents do složky. Vytvořte složku Agenti, pokud není k dispozici.

  3. Všechno je připravené. Váš Azure DevOps Server teď použije místní soubory při každé aktualizaci agentů. Každý agent se automaticky aktualizuje, když spustí úlohu, která vyžaduje novější verzi agenta. Pokud ale chcete některé agenty aktualizovat ručně, klikněte pravým tlačítkem na fond a pak zvolte Aktualizovat všechny agenty.

Mají agenti v místním prostředí nějaké výhody výkonu oproti agentům hostovaným Microsoftem?

Většinou ano. Konkrétně:

  • Pokud používáte agenta v místním prostředí, můžete spouštět přírůstková sestavení. Pokud například definujete kanál, který nevyčistí úložiště a neprovádí čisté sestavení, vaše sestavení obvykle běží rychleji. Tyto výhody nemáte u agenta hostovaného Microsoftem, pokud nepoužíváte funkce, jako je ukládání do mezipaměti , protože agent se po dokončení kanálu zničí.

  • Spuštění sestavení může trvat déle než agent hostovaný Microsoftem. Přiřazení vaší úlohy k agentovi hostovaného Microsoftem často trvá několik sekund, ale v závislosti na zatížení našeho systému může někdy trvat několik minut, než se agent přidělí.

Můžu na stejný počítač nainstalovat několik agentů v místním prostředí?

Ano. Tento přístup může dobře fungovat pro agenty, kteří spouštějí úlohy, které nespotřebovávají mnoho sdílených prostředků. Můžete to například vyzkoušet pro agenty, kteří spouštějí vydané verze, které většinou orchestrují nasazení, a nepracují na samotném agentovi moc práce.

Možná zjistíte, že v jiných případech nezískáte velkou efektivitu spuštěním více agentů na stejném počítači. Například nemusí být užitečné pro agenty, kteří spouštějí sestavení, která spotřebovávají velké množství disků a vstupně-výstupních prostředků.

Můžete také narazit na problémy, pokud paralelní úlohy sestavení používají stejné nasazení jednoho nástroje, jako jsou balíčky npm. Například jedno sestavení může aktualizovat závislost, zatímco jiné sestavení je uprostřed jeho použití, což může způsobit nespolehlivé výsledky a chyby.

Jaké je chování agentů při zrušení úloh kanálu?

U agentů hostovaných Microsoftem bude agent ukončen a vrátí do fondu Azure Pipelines.

Agenti v místním prostředí:

Když je kanál zrušen, agent odešle posloupnost příkazů procesu, který spouští aktuální krok.

  • První příkaz se odešle s časovým limitem 7,5 sekundy.
  • Pokud se proces neukončí, odešle se druhý příkaz s vypršením časového limitu 2,5 sekundy.
  • Pokud se proces neukončí, agent příkazy, které se mají ukončit.
  • Pokud proces ignoruje dvě počáteční žádosti o ukončení, je vynuceně ukončen.

Od počátečního požadavku na ukončení to trvá přibližně 10 sekund.

Příkazy vydané pro proces zrušení kanálu se liší v závislosti na operačním systému agenta.

  • macOS a Linux – Odeslané příkazy jsou SIGINT, následované SIGTERM, následované SIGKILL.
  • Windows – Příkazy odeslané do procesu jsou Ctrl+C, následované Ctrl+Break, následované Process.Kill.

Jak můžu aktivovat aktualizace agenta prostřednictvím kódu programu pro konkrétní fond agentů?

Aktualizace agenta pro fond můžete aktivovat pomocí následujícího rozhraní API:

POST https://dev.azure.com/{organization}/_apis/distributedtask/pools/{poolId}/messages?agentId={agentId}&api-version=6.0
POST https://{server url}/tfs/{collection}/_apis/distributedtask/pools/{poolId}/messages?agentId={agentId}&api-version=6.0

Poznámka:

Další informace o mapování verzí rozhraní API a Azure DevOps Serveru najdete v tématu Mapování verzí rozhraní API a Azure DevOps Serveru.

Parametry identifikátoru URI

Název V Požaduje se Type Popis
agentId query False string Agent, který se má aktualizovat. Pokud není zadáno – aktualizace se aktivuje pro všechny agenty.
organization path True string Název organizace Azure DevOps.
poolId path True celé číslo int32 Fond agentů, který se má použít
api-version query False string Verze rozhraní API, která se má použít. Hodnota by měla být nastavená na 6.0, aby používala tuto verzi rozhraní API.

Pokud chcete aktivovat aktualizaci agenta, text požadavku by měl být prázdný.

Poznámka:

Agent Azure Pipelines je open source na GitHubu.

Další informace

Další informace o agentech najdete v následujících modulech studijního programu Sestavení aplikací pomocí Azure DevOps .