Sdílet prostřednictvím


Agenti hostovaní Microsoftem

Služby Azure DevOps

Agenti hostovaní Microsoftem jsou k dispozici pouze v Azure DevOps Services, která je hostovaná v cloudu. Nemůžete používat agenty hostované Microsoftem ani fond agentů Azure Pipelines s místním TFS nebo Azure DevOps Serverem. U těchto místních verzí musíte používat agenty v místním prostředí.

Důležité

Vyberte verzi ze selektoru verze obsahu Azure DevOps.

Vyberte verzi tohoto článku, která odpovídá vaší platformě a verzi. Selektor verzí je nad obsahem. Vyhledejte platformu a verzi Azure DevOps.

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ů.

Software

Fond agentů Azure Pipelines nabízí několik imagí virtuálních počítačů, ze které si můžete vybrat, a to včetně široké škály nástrojů a softwaru.

Image Specifikace klasického agenta editoru Popisek image virtuálního počítače YAML Zahrnutý software
Windows Server 2022 se sadou Visual Studio 2022 windows-2022 windows-latest NEBO windows-2022 Odkaz
Windows Server 2019 se sadou Visual Studio 2019 windows-2019 windows-2019 Odkaz
Ubuntu 24.04 ubuntu-24.04 ubuntu-24.04 Odkaz
Ubuntu 22.04 ubuntu-22.04 ubuntu-latest NEBO ubuntu-22.04 Odkaz
Ubuntu 20.04 ubuntu-20.04 ubuntu-20.04 Odkaz
macOS 15 Sequia Preview macOS-15 macOS-15 Odkaz
macOS 14 Sonoma macOS-14 macOS-latest NEBO macOS-14 Odkaz
macOS 13 Ventura macOS-13 macOS-13 Odkaz
macOS 12 Monterey macOS-12 macOS-12 deprecated

Výchozí image agenta pro klasické kanály buildu je windows-2019 a výchozí image agenta pro kanály sestavení YAML je ubuntu-latest. Další informace najdete v tématu Určení fondu v kanálu.

Nainstalovaný software pro každého hostovaného agenta můžete zobrazit tak, že v tabulce zvolíte odkaz Zahrnutý software . Při použití imagí macOS můžete ručně vybírat z verzí nástrojů. Další informace.

Nejnovější aktualizace

Zákazníkům se doporučuje migrovat na novější verze nebo agenta v místním prostředí.

Další informace a pokyny k aktualizaci kanálů, které tyto image používají, najdete v tématu Odebrání starších imagí v hostovaných fondech Azure Pipelines.

Poznámka:

Kapacita macOS je aktuálně omezená. Na rozdíl od imagí Linuxu a Windows, kde je naše kapacita omezena kapacitou provozu Azure, je kapacita macOS omezená množstvím hardwaru, který máme k dispozici. Zatímco pracujeme na zpřístupnění další kapacity na jaře 2024, u některých úloh může docházet ke zpoždění provádění. Kdykoli je to možné, například pro úlohy, které nevytvářejí ekosystémové aplikace Apple, by zákazníci měli zvolit image pro Linux nebo Windows.

Poznámka:

Hostovaný fond Azure Pipelines nahrazuje předchozí hostované fondy s názvy mapovanými na odpovídající image. Všechny úlohy, které jste měli v předchozích hostovaných fondech, se automaticky přesměrují na správnou image v novém hostovaném fondu Azure Pipelines. Za některých okolností se stále můžou zobrazovat staré názvy fondů, ale na pozadí se hostované úlohy spouštějí pomocí fondu Azure Pipelines. Další informace o této aktualizaci najdete ve zprávě k vydání verze jednoho hostovaného fondu z poznámky k verzi z července 1 2019 – Sprint 154.

Důležité

Pokud chcete požádat o instalaci dalšího softwaru na agentech hostovaných Microsoftem, nevytvárejte žádost o zpětnou vazbu v tomto dokumentu ani neotevřete lístek podpory. Místo toho otevřete problém v našem úložišti, kde spravujeme skripty pro generování různých imagí.

Identifikace kanálů pomocí zastaralé hostované image

Pokud chcete identifikovat kanály, které používají zastaralou image, přejděte do následujícího umístění ve vaší organizaci: https://dev.azure.com/{organization}/{project}/_settings/agentqueuesa vyfiltrujte název image a zkontrolujte ho. Následující příklad zkontroluje vs2017-win2016 obrázek.

Snímek obrazovky s filtrováním kanálů podle názvu image

Historii úloh můžete také dotazovat na zastaralé image napříč projekty pomocí skriptu umístěného tady, jak je znázorněno v následujícím příkladu.

./QueryJobHistoryForRetiredImages.ps1 -accountUrl https://dev.azure.com/{org} -pat {pat}

Použití agenta hostovaného Microsoftem

Pokud v kanálech YAML nezadáte fond, kanály se ve výchozím nastavení nastaví do fondu agentů Azure Pipelines. Stačí zadat image virtuálního počítače, kterou chcete použít.

jobs:
- job: Linux
  pool:
    vmImage: 'ubuntu-latest'
  steps:
  - script: echo hello from Linux
- job: macOS
  pool:
    vmImage: 'macOS-latest'
  steps:
  - script: echo hello from macOS
- job: Windows
  pool:
    vmImage: 'windows-latest'
  steps:
  - script: echo hello from Windows

Poznámka:

Specifikaci fondu je možné provést na více úrovních v souboru YAML. Pokud si všimnete, že váš kanál není spuštěný na očekávané imagi, ujistěte se, že ověříte specifikaci fondu na úrovni kanálu, fáze a úlohy.

Vyhněte se pevně zakódovaným odkazům

Pokud používáte agenta hostovaného Microsoftem, vždy použijte proměnné , které odkazují na prostředí sestavení a prostředky agenta. Například pevně nezakódujte písmeno jednotky nebo složku, která obsahuje úložiště. Přesné rozložení hostovaných agentů se může změnit bez upozornění.

Hardware

Agenti hostovaní Microsoftem, kteří používají image Windows a Linuxu, se zřizují na virtuálních počítačích Azure pro obecné účely s dvoujádrovým procesorem, 7 GB paměti RAM a 14 GB místa na disku SSD. Tyto virtuální počítače se nacházejí ve stejné zeměpisné oblasti jako vaše organizace Azure DevOps.

Agenti, kteří spouštějí image macOS, se zřizují na počítačích Mac Pro se tříjádrovým procesorem, 14 GB paměti RAM a 14 GB místa na disku SSD. Tito agenti vždy běží v USA bez ohledu na umístění vaší organizace Azure DevOps. Pokud je pro vás důležitá suverenita dat a vaše organizace není v USA, neměli byste používat image macOS. Další informace.

Všechny tyto počítače mají k dispozici alespoň 10 GB volného místa na disku pro fungování vašich kanálů. Toto volné místo se spotřebovává, když kanál rezervuje zdrojový kód, stahuje balíčky, stahuje image Dockeru nebo generuje zprostředkující soubory.

Důležité

Nemůžeme vyhovět požadavkům na zvýšení místa na disku na agentech hostovaných Microsoftem nebo na zřízení výkonnějších počítačů. Pokud specifikace agentů hostovaných Microsoftem nevyhovují vašim potřebám, měli byste zvážit použití agentů v místním prostředí nebo agentů škálovacích sad.

Sítě

V některých nastaveních možná budete muset znát rozsah IP adres, ve kterých jsou agenti nasazeni. Pokud například potřebujete hostovaným agentům udělit přístup přes bránu firewall, můžete tento přístup omezit pomocí IP adresy. Vzhledem k tomu, že Azure DevOps používá globální síť Azure, rozsahy IP adres se v průběhu času liší. Microsoft publikuje týdenní soubor JSON se seznamem rozsahů IP adres pro datacentra Azure rozdělené podle oblastí. Tento soubor se každý týden aktualizuje novými plánovanými rozsahy IP adres. Ke stažení je dostupná pouze nejnovější verze souboru. Pokud potřebujete předchozí verze, musíte je každý týden stáhnout a archivovat, jakmile jsou k dispozici. Nové rozsahy IP adres začínají platit vždy následující týden. Doporučujeme vám tento zdroj pravidelně kontrolovat (alespoň jednou týdně), abyste měli jistotu, že máte aktuální seznam. Pokud úlohy agenta začnou selhávat, prvním krokem při řešení potíží je zajistit, aby konfigurace odpovídala nejnovějšímu seznamu IP adres. Rozsahy IP adres pro hostované agenty jsou uvedené v týdenním souboru v části AzureCloud.<region>, například AzureCloud.westus v oblasti USA – západ.

Hostovaní agenti běží ve stejné zeměpisné oblasti Azure jako vaše organizace. Každá zeměpisná oblast obsahuje jednu nebo více oblastí. I když váš agent může běžet ve stejné oblasti jako vaše organizace, není zaručeno, že to tak bude. Pokud chcete získat úplný seznam možných rozsahů IP adres pro vašeho agenta, musíte použít rozsahy IP adres ze všech oblastí obsažených ve vaší zeměpisné oblasti. Pokud se například vaše organizace nachází v USA zeměpisné oblasti, musíte použít rozsahy IP adres pro všechny oblasti v dané zeměpisné oblasti.

Pokud chcete zjistit svoji zeměpisnou oblast, přejděte do https://dev.azure.com/<your_organization>/_settings/organizationOverviewoblasti a vyhledejte přidruženou zeměpisnou oblast z tabulky geografie Azure. Jakmile zjistíte svoji zeměpisnou oblast, použijte rozsahy IP adres z týdenního souboru pro všechny oblasti v dané zeměpisné oblasti.

Důležité

Privátní připojení, jako je ExpressRoute nebo VPN, nemůžete použít k připojení agentů hostovaných Microsoftem k podnikové síti. Provoz mezi agenty hostovanými Microsoftem a vašimi servery bude probíhat přes veřejnou síť.

Identifikace možných rozsahů IP adres pro agenty hostované Microsoftem

  1. Určete oblast vaší organizace v nastavení organizace.
  2. Určete geografickou oblast Azure pro oblast vaší organizace.
  3. Namapujte názvy oblastí v zeměpisné oblasti na formát použitý v týdenním souboru podle formátu AzureCloud.<region>, například AzureCloud.westus. Názvy oblastí ze seznamu Zeměpis Azure můžete mapovat na formát použitý v týdenním souboru tak, že zkontrolujete názvy oblastí předané konstruktoru oblastí definovaných ve zdrojovém kódu pro třídu Oblast z knihoven pro správu Azure pro .NET.

    Poznámka:

    Vzhledem k tomu, že v knihovnách pro správu Azure pro .NET neexistuje žádné rozhraní API pro výpis oblastí pro zeměpisnou oblast, musíte je vypsat ručně, jak je znázorněno v následujícím příkladu.

  4. Načtěte IP adresy pro všechny oblasti ve vaší zeměpisné oblasti z týdenního souboru. Pokud je vaše oblast Brazílie – jih nebo Západní Evropa, musíte zahrnout další rozsahy IP adres na základě záložní geografické oblasti, jak je popsáno v následující poznámce.

Poznámka:

Kvůli omezením kapacity můžou některé organizace v oblastech Brazílie – jih nebo Západní Evropa občas vidět své hostované agenty umístěné mimo jejich očekávanou zeměpisnou oblast. V těchto případech musí být kromě zahrnutí rozsahů IP adres pro všechny oblasti ve vaší zeměpisné oblasti, jak je popsáno v předchozí části, zahrnout další rozsahy IP adres pro oblasti v záložní geografické oblasti kapacity.

Pokud je vaše organizace v oblasti Brazílie – jih, je vaše zeměpisná oblast pro záložní kapacitu USA.

Pokud je vaše organizace v oblasti Západní Evropa , je záložní zeměpisná oblast kapacity Francie.

Naše rozsahy IP adres pro Mac nejsou zahrnuté do výše uvedených IP adres Azure, protože jsou hostované v cloudu macOS na GitHubu. Rozsahy IP adres je možné načíst pomocí rozhraní API metadat GitHubu pomocí zde uvedených pokynů.

Příklad

V následujícím příkladu se rozsahy IP adres hostovaného agenta pro organizaci v oblasti USA – západ načtou z týdenního souboru. Vzhledem k tomu, že oblast USA – západ je v USA zeměpisné oblasti, jsou zahrnuté IP adresy pro všechny oblasti v USA zeměpisné oblasti. V tomto příkladu se IP adresy zapisují do konzoly.

using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

namespace WeeklyFileIPRanges
{
    class Program
    {
        // Path to the locally saved weekly file
        const string weeklyFilePath = @"C:\MyPath\ServiceTags_Public_20230904.json";

        static void Main(string[] args)
        {
            // United States geography has the following regions:
            // Central US, East US, East US 2, East US 3, North Central US, 
            // South Central US, West Central US, West US, West US 2, West US 3
            // This list is accurate as of 9/8/2023
            List<string> USGeographyRegions = new List<string>
            {
                "centralus",
                "eastus",
                "eastus2",
                "eastus3",
                "northcentralus",
                "southcentralus",
                "westcentralus",
                "westus",
                "westus2",
                "westus3"
            };

            // Load the weekly file
            JObject weeklyFile = JObject.Parse(File.ReadAllText(weeklyFilePath));
            JArray values = (JArray)weeklyFile["values"];

            foreach (string region in USGeographyRegions)
            {
                string tag = $"AzureCloud.{region}";
                Console.WriteLine(tag);

                var ipList =
                    from v in values
                    where tag.Equals((string)v["name"], StringComparison.OrdinalIgnoreCase)
                    select v["properties"]["addressPrefixes"];

                foreach (var ip in ipList.Children())
                {
                    Console.WriteLine(ip);
                }
            }
        }
    }
}

Značky služeb

Agenti hostovaní Microsoftem nemůžou být uvedení podle značek služeb. Pokud se pokoušíte udělit hostovaným agentům přístup k vašim prostředkům, budete muset postupovat podle metody přidávání IP adres na seznam povolených.

Zabezpečení

Agenti hostovaní Microsoftem běží na zabezpečené platformě Azure. Musíte ale vědět o následujících aspektech zabezpečení.

  • I když agenti hostovaní Microsoftem běží ve veřejné síti Azure, nepřiřazují se jim veřejné IP adresy. Externí entity proto nemůžou cílit na agenty hostované Microsoftem.
  • Agenti hostovaní Microsoftem se spouštějí na jednotlivých virtuálních počítačích, které se po každém spuštění znovu vyhodnotí. Každý agent je vyhrazený pro jednu organizaci a každý virtuální počítač hostuje jenom jednoho agenta.
  • Spuštění kanálu na agentech hostovaných Microsoftem má několik výhod z hlediska zabezpečení. Pokud ve svém kanálu spustíte nedůvěryhodný kód, například příspěvky z forků, je bezpečnější spustit kanál na agentech hostovaných Microsoftem než na agentech hostovaných v místním prostředí, kteří se nacházejí ve vaší podnikové síti.
  • Pokud kanál potřebuje přístup k podnikovým prostředkům za bránou firewall, musíte povolit rozsah IP adres pro geografickou oblast Azure. To může zvýšit vaši expozici, protože rozsah IP adres je poměrně velký a protože počítače v tomto rozsahu mohou patřit i dalším zákazníkům. Nejlepším způsobem, jak tomu zabránit, je vyhnout se nutnosti přístupu k interním prostředkům. Informace o nasazení artefaktů do sady serverů najdete v tématu Komunikace pro nasazení na cílové servery.
  • Hostované image nevyhovují srovnávacím testům posílení zabezpečení CIS. Pokud chcete používat image posílené cis, musíte vytvořit agenty v místním prostředí nebo agenty škálovací sady.

Funkce a omezení

Agenti hostovaní Microsoftem:

  • Máte výše uvedený software. Software můžete přidat také během sestavování nebo vydávání pomocí úloh instalačního programu nástrojů.
    • Získáte nově image agenta pro každou úlohu v kanálu.
  • Zadejte 10 GB úložiště pro výstupy zdroje a sestavení.
  • Zadejte úroveň Free:
    • Veřejný projekt: 10 bezplatných paralelních úloh hostovaných Microsoftem, které můžou běžet až 360 minut (6 hodin) pokaždé bez celkového časového limitu za měsíc. Kontaktujte nás , abychom získali zvýšení limitů úrovně Free.
    • Soukromý projekt: Jedna bezplatná paralelní úloha, která může běžet až 60 minut pokaždé, dokud nepoužijete 1 800 minut (30 hodin) za měsíc. Za další kapacitu můžete platit pro každou paralelní úlohu. Placené paralelní úlohy odeberou měsíční časový limit a umožňují spustit každou úlohu po dobu až 360 minut (6 hodin). Kupte si paralelní úlohy hostované Microsoftem.
    • Když vytvoříte novou organizaci Azure DevOps, ve výchozím nastavení tyto bezplatné granty neudělíte. Pokud chcete požádat o bezplatné granty pro veřejné nebo soukromé projekty, odešlete žádost.
  • Spusťte na virtuálních počítačích Microsoft Azure pro obecné účely Standard_DS2_v2.
  • Spusťte jako správce ve Windows a uživatele sudo bez hesla v Linuxu.
  • (jenom Linux) Spusťte kroky v kroku cgroup , který nabízí 6 GB fyzické paměti a 13 GB celkové paměti.
  • Používejte image virtuálních počítačů, které se pravidelně aktualizují (každých 3 týdny).

Agenti hostovaní Microsoftem nenabízí:

  • Možnost vzdáleného připojení.
  • Možnost vypustit artefakty do sdílené složky UNC.
  • Možnost připojit počítače přímo k podnikové síti.
  • Možnost získat větší nebo výkonnější buildovací počítače.
  • Možnost předem načíst vlastní software. Software můžete nainstalovat během spuštění kanálu, například prostřednictvím úloh instalačního programu nástrojů nebo ve skriptu.
  • Potenciální výhody výkonu, které můžete získat pomocí agentů v místním prostředí, které můžou spouštět a spouštět buildy rychleji. Další informace
  • Možnost spouštět sestavení XAML.
  • Možnost vrátit se zpět na předchozí verzi image virtuálního počítače Vždy používáte nejnovější verzi.

Pokud agenti hostovaní Microsoftem nevyhovují vašim potřebám, můžete nasadit vlastní agenty v místním prostředí, používat agenty škálovací sady nebo agenty spravovaných fondů DevOps.

Často kladené dotazy

Jak zjistím, jaký software je součástí obrázku?

Nainstalovaný software pro každého hostovaného agenta můžete zobrazit tak, že v tabulce Software zvolíte odkaz Zahrnutý software.

Poznámka:

Ve výchozím nastavení používá agent Windows verzi Gitu, která je součástí softwaru agenta. Microsoft doporučuje používat verzi Gitu, která je součástí agenta, ale máte několik možností, jak toto výchozí chování přepsat a použít verzi Gitu, kterou má počítač agenta nainstalovaný v cestě.

Pokud chcete zobrazit verzi Gitu používanou kanálem, můžete se podívat na protokoly kroku checkout v kanálu, jak je znázorněno v následujícím příkladu.

Syncing repository: PathFilter (Git)
Prepending Path environment variable with directory containing 'git.exe'.
git version
git version 2.26.2.windows.1

Jak Microsoft zvolí software a verze, které se mají vložit na image?

Další informace o verzích softwaru, které jsou součástí imagí, najdete v části Guidelines for's installed.

Kdy se obrázky aktualizují?

Obrázky se obvykle aktualizují každý týden. Můžete zkontrolovat stavové odznáčky ve formátu 20200113.x , ve kterém první část označuje datum aktualizace obrázku.

Co můžu dělat, když je software, který potřebuji, odebrán nebo nahrazen novější verzí?

Dejte nám vědět vyplněním problému GitHubu tak, že v tabulce Použít agenta hostovaného Microsoftem zvolíte zahrnuté softwarové odkazy.

Můžete také použít agenta v místním prostředí, který obsahuje přesné verze softwaru, který potřebujete. Další informace najdete v tématu Agenti v místním prostředí.

Co když potřebuji větší počítač s větším výpočetním výkonem, pamětí nebo místem na disku?

Pro agenty hostované Microsoftem nemůžeme zvětšit paměť, výpočetní výkon ani místo na disku, ale můžete použít agenty hostované v místním prostředí nebo agenty škálovací sady hostované na počítačích s požadovanými specifikacemi.

Nemůžu vybrat agenta hostovaného Microsoftem a nemůžu zařadit sestavení nebo nasazení do fronty. Co mám dělat?

Agenti hostovaní Microsoftem jsou k dispozici pouze ve službě Azure Pipelines a ne v TFS nebo Azure DevOps Serveru.

Ve výchozím nastavení mají všichni přispěvatelé projektu v organizaci přístup k agentům hostovaným Microsoftem. Správce vaší organizace ale může omezit přístup agentů hostovaných Microsoftem na výběr uživatelů nebo projektů. Požádejte vlastníka vaší organizace Azure DevOps, aby vám udělil oprávnění k používání agenta hostovaného Microsoftem. Viz zabezpečení fondu agentů.

Dokončení kanálů spuštěných na agentech hostovaných Microsoftem trvá déle. Jak to můžu urychlit?

Pokud se váš kanál v poslední době zpomalil, podívejte se na naši stavovou stránku, jestli nedošlo k výpadkům. Možná máme se službou problémy. Nebo si projděte všechny změny, které jste udělali v kanálu nebo kódu aplikace. Je možné, že se velikost úložiště při rezervaci zvětšila, že nahráváte větší artefakty nebo že spouštíte více testů.

Pokud právě nastavujete kanál a porovnáváte výkon agentů hostovaných Microsoftem s místním počítačem nebo agentem v místním prostředí, poznamenejte si specifikace hardwaru, který používáme ke spouštění vašich úloh. Nemůžeme vám poskytnout větší nebo výkonnější počítače. Pokud tento výkon není přijatelný, můžete zvážit použití agentů v místním prostředí nebo agentů škálovacích sad.

Potřebuji víc agentů. Co mám dělat?

Všechny organizace Azure DevOps mají k dispozici několik bezplatných paralelních úloh pro opensourcové projekty a jednu bezplatnou paralelní úlohu a omezené minuty každý měsíc pro soukromé projekty. Pokud potřebujete pro opensourcový projekt další minuty nebo paralelní úlohy, obraťte se na podporu. Pokud potřebujete další minuty nebo paralelní úlohy pro váš soukromý projekt, můžete si koupit další.

Kanál je úspěšný u agenta v místním prostředí, ale na agentech hostovaných Microsoftem selže. Co mám dělat?

Váš agent v místním prostředí má pravděpodobně nainstalované všechny správné závislosti, zatímco stejné závislosti, nástroje a software nejsou nainstalované na agentech hostovaných Microsoftem. Nejprve pečlivě zkontrolujte seznam softwaru, který je nainstalován na agentech hostovaných Microsoftem, pomocí odkazu na zahrnutý software v tabulce výše. Pak tento problém porovnejte se softwarem nainstalovaným na vašem místním agentu. V některých případech můžou mít agenti hostovaní Microsoftem nástroje, které potřebujete (například Visual Studio), ale nemusí být nainstalované všechny nezbytné volitelné součásti. Pokud zjistíte rozdíly, máte dvě možnosti:

  • V úložišti můžete vytvořit nový problém, ve kterém sledujeme požadavky na další software. Kontaktování podpory vám nepomůže s nastavením nového softwaru na agentech hostovaných Microsoftem.

  • Můžete použít agenty v místním prostředí nebo agenty škálovací sady. S těmito agenty máte plnou kontrolu nad imagemi, které se používají ke spuštění kanálů.

Sestavení proběhne úspěšně na místním počítači, ale selže u agentů hostovaných Microsoftem. Co mám dělat?

Na místním počítači jsou pravděpodobně nainstalované všechny správné závislosti, zatímco stejné závislosti, nástroje a software nejsou nainstalované na agentech hostovaných Microsoftem. Nejprve pečlivě zkontrolujte seznam softwaru, který je nainstalován na agentech hostovaných Microsoftem, pomocí odkazu na zahrnutý software v tabulce výše. Pak tento problém porovnejte se softwarem nainstalovaným na místním počítači. V některých případech můžou agenti hostovaní Microsoftem mít nástroje, které potřebujete (např. Visual Studio), ale nemusí být nainstalované všechny nezbytné volitelné součásti. Pokud zjistíte rozdíly, máte dvě možnosti:

  • V úložišti můžete vytvořit nový problém, ve kterém sledujeme požadavky na další software. Toto je váš nejlepší tip pro instalaci nového softwaru. Kontaktování podpory vám nepomůže s nastavením nového softwaru na agentech hostovaných Microsoftem.

  • Můžete použít agenty v místním prostředí nebo agenty škálovací sady. S těmito agenty máte plnou kontrolu nad imagemi, které se používají ke spuštění kanálů.

Kanál selže s chybou: "Na zařízení nezůstalo žádné místo".

Agenti hostovaní Microsoftem mají pro spuštění vaší úlohy k dispozici pouze 10 GB místa na disku. Tento prostor se spotřebovává při pokladně zdrojového kódu, při stahování balíčků, při stahování imagí Dockeru nebo při vytváření zprostředkujících souborů. Na obrázcích hostovaných Microsoftem bohužel nemůžeme zvětšit volné místo. Kanál můžete restrukturalizovat tak, aby se vešel do tohoto prostoru. Nebo můžete zvážit použití agentů v místním prostředí nebo agentů škálovací sady.

Kanál spuštěný na agentech hostovaných Microsoftem vyžaduje přístup k serverům v naší podnikové síti. Jak získáme seznamIPch

Podívejte se na oddíl Rozsahy IP adres agenta.

Náš kanál spuštěný na agentech hostovaných Microsoftem nemůže přeložit název serveru v podnikové síti. Jak to můžeme opravit?

Pokud odkazujete na server podle názvu DNS, ujistěte se, že je váš server veřejně přístupný na internetu prostřednictvím názvu DNS. Pokud na svůj server odkazujete podle jeho IP adresy, ujistěte se, že IP adresa je veřejně přístupná na internetu. V obou případech zajistěte, aby všechny brány firewall mezi agenty a vaší podnikovou sítí byly povolené rozsahy IP adres agentů.

Zobrazuje se mi chyba autorizace IP adresy SAS z účtu Služby Azure Storage

Pokud se zobrazí kód chyby SAS, je pravděpodobné, že rozsahy IP adres od agentů hostovaných Microsoftem nejsou povolené kvůli pravidlům služby Azure Storage. Existuje několik alternativních řešení:

  1. Spravujte pravidla sítě IP pro váš účet Azure Storage a přidejte rozsahy IP adres pro hostované agenty.
  2. V kanálu pomocí Azure CLI aktualizujte sadu pravidel sítě pro svůj účet Azure Storage těsně před přístupem k úložišti a pak obnovte předchozí sadu pravidel.
  3. Používejte agenty v místním prostředí nebo agenty škálovací sady.

Jak můžu ručně vybrat verze nástrojů v hostovaném agentu macOS?

Xcode

Pokud používáte úlohu Xcode, která je součástí Azure Pipelines a TFS, můžete ve vlastnostech úlohy vybrat verzi Xcode. Pokud chcete ručně nastavit verzi Xcode tak, aby se používala ve fondu agentů hostovaného macOS před úlohou sestavení, spusťte xcodebuild tento příkazový řádek jako součást sestavení a podle potřeby nahraďte číslo verze Xcode 13.2:

/bin/bash -c "sudo xcode-select -s /Applications/Xcode_13.2.app/Contents/Developer"

Verze Xcode ve fondu agentů hostovaného systému macOS najdete tady pro agenta macos-12 .

Tento příkaz nefunguje pro aplikace Xamarin. Pokud chcete ručně vybrat verzi Xcode pro vytváření aplikací Xamarin, přečtěte si výše uvedené pokyny.

Mono

Pokud chcete ručně vybrat verzi Mono, kterou chcete použít ve fondu agentů hostovaného systému macOS , spusťte tento skript v každé úloze sestavení před úlohou sestavení Mono a zadáním symlinku s požadovanou verzí Mono:

SYMLINK=<symlink>
MONOPREFIX=/Library/Frameworks/Mono.framework/Versions/$SYMLINK
echo "##vso[task.setvariable variable=DYLD_FALLBACK_LIBRARY_PATH;]$MONOPREFIX/lib:/lib:/usr/lib:$DYLD_LIBRARY_FALLBACK_PATH"
echo "##vso[task.setvariable variable=PKG_CONFIG_PATH;]$MONOPREFIX/lib/pkgconfig:$MONOPREFIX/share/pkgconfig:$PKG_CONFIG_PATH"
echo "##vso[task.setvariable variable=PATH;]$MONOPREFIX/bin:$PATH"