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. Když přidáte další kód a lidi, budete nakonec potřebovat víc.

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. Pokaždé, když spustíte kanál, získáte nový 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

Jakmile agenta nainstalujete na počítač, můžete na něj instalovat další software, který vyžadují vaše úlohy.

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 10 jako univerzální obslužnou rutinu, ale zákazníci můžou dál používat vlastní úlohy, které používají zastaralou knihovnu Node 6. 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é soubory alternativního agenta z https://github.com/microsoft/azure-pipelines-agent/releaseswebu .

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čů, řadu agentů, které se budou udržovat 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, 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í (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ů 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. Funkce jsou páry name-value, které software agenta automaticky zjistí, v takovém případě se nazývají systémové funkce nebo ty, které definujete, v takovém případě se nazývají 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. Tuto komunikaci zahajuje vždy agent. 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 přijímání změn umožňuje nakonfigurovat agenta v různých topologiích (viz níže).

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

Topologie agentů v Azure DevOps Services

Tady je běžný způsob komunikace agenta se službami Azure Pipelines nebo Azure DevOps Server.

  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ů. Identitu správce fondu agentů potřebujete jen v okamžiku registrace. Agent ji neukládá ani ji nepoužívá k další komunikaci se službou Azure Pipelines nebo Azure DevOps Server. Po dokončení registrace agent stáhne token OAuth naslouchacího procesu a použije ho k naslouchání frontě úlohy.

  2. Agent naslouchá, jestli pro něj ve frontě úloh v Azure Pipelines nebo Azure DevOps Server nebyla zveřejněna nová žádost o úlohu. Používá k tomu dlouhé dotazování HTTP. Pokud je úloha dostupná, agent stáhne úlohu i token OAuth specifický pro úlohu. Tento token generuje Azure Pipelines/Azure DevOps Server pro vymezenou identitu zadanou v kanálu. Tento token je krátkodobý. Agent ho používá pro přístup k prostředkům (například ke zdrojovému kódu) nebo k jejich změně (třeba k nahrání výsledků testu) ve službě Azure Pipelines nebo Azure DevOps Server v rámci této úlohy.

  3. Po dokončení úlohy agent zahodí token OAuth konkrétní úlohy a vrátí se ke kontrole nových žádostí o úlohu, při které používá token naslouchacího procesu OAuth.

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íč. Tímto způsobem jsou zabezpečeny tajné kódy uložené v kanálech nebo ve 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í není připojeno k fondu agentů hostovanému Microsoftem (obvyklý případ, když je mezičlánkem brána firewall), musíte na místním počítači nebo počítačích ručně nakonfigurovat agenta v místním prostředí. Agenti musí být připojeni k cílovému místnímu prostředí a musí mít přístup k internetu, aby se mohli připojovat ke službě Azure Pipelines nebo Team Foundation Server. Je to vidět na 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 potřeba jen v okamžiku registrace. Agent ji nemá trvale ani ji nepoužívá při další komunikaci se službou Azure Pipelines nebo Azure DevOps Server. 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 sadě 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í na Azure DevOps Serveru následující dvě další možnosti ověřování.

  • Vyjednávat Připojení k Azure DevOps Serveru jako uživatel jiný než přihlášený uživatel prostřednictvím schématu ověřování Systému Windows, jako je 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 do 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. Nakonfigurovaného agenta doporučujeme nejprve vyzkoušet v interaktivním režimu, abyste ověřili, ž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 využít správce služeb operačního systému. Také prostředí pro automatický upgrade agenta je lepší, když agent běží jako služba.

  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 nutné 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. (Všimněte si, že se liší od přihlašovacích údajů, které používáte při registraci agenta v Azure Pipelines nebo Azure DevOps Serveru.) 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, které pro přístup k externí službě používají ověřování systému Windows, musíte agenta spustit pomocí účtu, který má přístup 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. Tyto účty mají omezená oprávnění a jejich hesla nevyprší platnost, což znamená, že agent v průběhu času vyžaduje menší správu.

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, můžou se agenti v místním prostředí aktualizovat obvykle automaticky (toto nastavení nakonfigurujte ve fondech agentů, vyberte svého agenta, Nastavení – výchozí nastavení je povolené) službou Azure Pipelines. 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ě. Můžete to udělat snadno na kartě Fondy agentů ve vaší organizaci. Vaše kanály se nespustí, dokud nebudou cílit na 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 vaší aplikační vrstvy můžete nahrát novou verzi agenta a tato verze se nabídne 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ě. Můžete to udělat snadno na kartě Fondy agentů v kolekci projektů. Vaše kanály se nespustí, dokud nebudou cílit na 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

Vytvořte složku Agenti, 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í se obvykle spustí rychleji. Pokud používáte agenta hostovaného Microsoftem, tyto výhody nezískute (pokud nepoužíváte funkce, jako je ukládání do mezipaměti), protože agent se po dokončení kanálu buildu nebo verze 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čil, odešle se druhý příkaz s časovým limitem 2,5 sekundy. Pokud se proces neukončil, agent vydá příkaz k ukončení procesu. Pokud proces nedotkne dvou počátečních žádostí o ukončení, dojde k jeho 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. Pokud chcete použít tuto verzi rozhraní API, měla by být nastavená na hodnotu 6.0.

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 .