Agenti hostovaní Microsoftem

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

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

Důležité

Vyberte verzi ze selektoru verze obsahu Azure DevOps.

Pokud chcete zobrazit obsah dostupný pro vaši platformu, ujistěte se, že jste vybrali správnou verzi tohoto článku ze selektoru verzí, který se nachází nad obsahem. Podpora funkcí se liší v závislosti na tom, jestli pracujete od Azure DevOps Services nebo místní verze Azure DevOps Server, přejmenované ze sady Team Foundation Server (TFS).
Informace o tom, kterou místní verzi používáte, najdete v tématu Jakou platformu nebo verzi používám?

Pokud jsou vaše kanály ve službě Azure Pipelines, máte možnost spouštět úlohy pomocí agenta hostovaného Microsoftem. Agenti hostovaní Microsoftem se o údržbu a upgrady postarají za nás. 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 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 agenta klasického editoru Popisek image virtuálního počítače YAML Zahrnutý software
Windows Server 2022 s sadou Visual Studio 2022 windows-2022 windows-latest Nebo windows-2022 Odkaz
Windows Server 2019 s sadou Visual Studio 2019 windows-2019 windows-2019 Odkaz
Ubuntu 22.04 ubuntu-22.04 ubuntu-22.04 Odkaz
Ubuntu 20.04 ubuntu-20.04 ubuntu-latest Nebo ubuntu-20.04 Odkaz
Ubuntu 18.04 (zastaralé od 8. 8. 2022 a nepodporované do 4. 1. 2023) ubuntu-18.04 ubuntu-18.04 Odkaz
macOS 12 Monterey macOS-12 macOS-12 Odkaz
macOS 11 Big Sur macOS-11 macOS-latest Nebo macOS-11 Odkaz
macOS X Catalina 10.15 (zastaralé od 5. 31. 2022 a nepodporované do 12. 1. 2022) macOS-10.15 macOS-10.15 Odkaz

Výchozí image agenta pro klasické kanály sestavení 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 vyberete odkaz Zahrnutý software . Při používání imagí macOS můžete ručně vybírat z verzí nástrojů. Viz níže.

Nejnovější aktualizace

Zákazníkům se doporučuje migrovat na novější verze nebo agenta hostovaného 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

Hostovaný fond Azure Pipelines nahrazuje předchozí hostované fondy, které mají názvy mapované 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 nového hostovaného fondu Azure Pipelines. Za určitých okolností se můžou stále zobrazovat staré názvy fondů, ale na pozadí se hostované úlohy spouští pomocí fondu Azure Pipelines. Další informace o této aktualizaci najdete v poznámkách 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 agenty hostované Microsoftem, nevytvárejte žádost o zpětnou vazbu k tomuto 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í zastaralý obrázek, 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 obrázku 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 obrázku

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 ve výchozím nastavení budou mít fond 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, jsou zřízeni na virtuálních počítačích Azure pro obecné účely s 2 jádry procesoru, 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, jsou zřízeni na Mac Pro se 3 jádry procesoru, 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 suverenita dat důležitá a pokud vaše organizace není v USA, neměli byste používat obrázky macOS. Přečtěte si další informace.

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

Důležité

Nemůžeme respektovat požadavky na zvýšení místa na disku na agentech hostovaných Microsoftem nebo 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 agenty hostované v místním prostředí nebo agenty škálovací sady.

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 udělit hostovaným agentům přístup přes bránu firewall, můžete tento přístup omezit podle IP adresy. Vzhledem k tomu, že Azure DevOps používá globální síť Azure, rozsahy IP adres se v průběhu času liší. Publikujeme týdenní rozsahy IP adres pro datacentra Azure rozdělené podle oblasti. Tento soubor se aktualizuje týdně s novými plánovanými rozsahy IP adres. Nové rozsahy IP adres se projeví v následujícím týdnu. Doporučujeme pravidelně kontrolovat (alespoň jednou týdně), abyste měli jistotu, že máte aktuální seznam. Pokud úlohy agenta začnou selhat, je prvním krokem řešení potíží 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 pro oblast USA – západ.

Vaši hostovaní agenti běží ve stejné zeměpisné oblasti Azure jako vaše organizace. Každá zeměpis 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 uděláte. 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 je například vaše organizace umístěná v USA zeměpisné oblasti, musíte použít rozsahy IP adres pro všechny oblasti v dané zeměpisné oblasti.

Pokud chcete určit svoji zeměpisnou oblast, přejděte na https://dev.azure.com/<your_organization>/_settings/organizationOverview, získejte oblast a vyhledejte přidruženou zeměpisnou oblast z tabulky geografie Azure . Jakmile určí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é

K připojení agentů hostovaných Microsoftem k podnikové síti nemůžete použít privátní připojení, jako je ExpressRoute nebo VPN. Provoz mezi agenty hostovanými Microsoftem a vašimi servery bude 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 oblast Azure Geography vaší organizace.
  3. Namapujte názvy oblastí ve vaší 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 namapovat 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 třídy Region z knihoven pro správu Azure pro .NET.

    Poznámka

    Vzhledem k tomu, že v knihovnách pro správu Azure pro .NET není k dispozici žá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ě vaší záložní zeměpisné oblasti, jak je popsáno v následující poznámce.

Poznámka

Kvůli omezením kapacity mohou některé organizace v oblastech Brazílie – jih nebo Západní Evropa občas vidět své hostované agenty umístěné mimo 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, další rozsahy IP adres musí být zahrnuty pro oblasti v záložní geografické oblasti kapacity.

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

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

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

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 zeměpisné oblasti USA, 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_20210823.json";

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

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

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

                var ipList =
                    from v in values
                    where (string)v["name"] == azureCloudRegion
                    select v["properties"]["addressPrefixes"];

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

Značky služeb

Agenti hostovaní Microsoftem nemůžou být uvedeni 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 povolení výpisu rozsahu IP adres.

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 tedy nemůžou cílit na agenty hostované Microsoftem.
  • Agenti hostovaní Microsoftem se spouští na jednotlivých virtuálních počítačích, které se po každém spuštění znovu zobrazují. 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í, které se nacházejí ve vaší podnikové síti.
  • Pokud kanál potřebuje přístup k firemní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 můžou 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.
  • Hostované image neodpovídají srovnávacím testům posílení zabezpečení CIS. Pokud chcete používat image posílené systémem CIS, musíte vytvořit agenty hostované 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 také přidat během sestavení nebo vydání pomocí úloh instalačního programu nástrojů.
    • Pro každou úlohu v kanálu získáte nově image agenta.
  • 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ž na 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 nebudete používat 1 800 minut (30 hodin) za měsíc. Můžete platit za další kapacitu na 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 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 bezplatnou grant pro veřejné nebo soukromé projekty, odešlete žádost.
  • Spuštění na virtuálních počítačích pro obecné účely Microsoft Azure Standard_DS2_v2
  • Spuštění jako správce ve Windows a bez hesla uživatele sudo v Linuxu
  • (jenom Linux) Spusťte kroky v cgroup oblasti, která nabízí 6 GB fyzické paměti a 13 GB celkové paměti.

Agenti hostovaní Microsoftem nenabízí:

  • Možnost vzdáleného připojení.
  • Schopnost vyhodit artefakty do sdílené složky UNC.
  • Možnost připojit počítače přímo k podnikové síti.
  • Schopnost 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ů hostovaných v místním prostředí, které můžou spustit a spouštět buildy rychleji. Další informace
  • Schopnost spouštět buildy XAML

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

Časté otázky

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 vyberete odkaz Zahrnutý software.

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

Další informace o verzích softwaru, které jsou součástí imagí, najdete v části Pokyny k instalaci.

Kdy se obrázky aktualizují?

Obrázky se obvykle aktualizují týdně. Můžete zkontrolovat stavové odznáky , které jsou 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 tak, že na GitHubu vytvoříte problém tak, že v tabulce Použít agenta hostovaného Microsoftem vyberete zahrnuté softwarové odkazy.

Můžete také použít místního agenta, 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ýkonem, pamětí nebo místem na disku?

Pro agenty hostované Microsoftem nemůžeme zvýš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 frontu sestavení nebo nasazení. Co bych měl/a dělat?

Agenti hostovaní Microsoftem jsou k dispozici pouze ve službě Azure Pipelines, nikoli v TFS nebo Azure DevOps Server.

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 k výběru 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 je můžu urychlit?

Pokud se váš kanál v nedávné době zpomaloval, zkontrolujte na naší stránce stavu případné výpadky. Mohli bychom mít problémy s naší službou. Nebo jinak zkontrolujte všechny změny, které jste provedli v kódu nebo kanálu aplikace. Velikost úložiště během rezervace se může zvýšit, můžete nahrát větší artefakty nebo můžete spouštět další testy.

Pokud právě nastavujete kanál a porovnáváte výkon agentů hostovaných Microsoftem s místním počítačem nebo místním agentem, 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é 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í sady .

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

Všechny organizace Azure DevOps mají 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 další minuty nebo paralelní úlohy pro opensourcový projekt, 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 hostovaného v místním prostředí, ale selže u agentů hostovaných Microsoftem. Co bych měl/a dělat?

Váš agent v místním prostředí má pravděpodobně všechny správné závislosti nainstalované na něm, zatímco stejné závislosti, nástroje a software nejsou nainstalované na agentech hostovaných Microsoftem. Nejprve pečlivě zkontrolujte seznam softwaru, který je nainstalovaný na agentech hostovaných microsoftem, pomocí odkazu na Zahrnutý software v tabulce výše. Pak porovnejte tento software se softwarem nainstalovaným na 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 nainstalovány 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 žádosti o 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 plně řídíte image, které se používají ke spouš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 bych měl/a dělat?

Váš místní počítač má pravděpodobně nainstalované 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 nainstalovaný na agentech hostovaných microsoftem, pomocí odkazu na Zahrnutý software v tabulce výše. Pak ho 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 nainstalovány 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 žádosti o další software. Toto je 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 plně řídíte image, které se používají ke spouštění kanálů.

Kanál selže s chybou: "Na zařízení není ponecháno žá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 kontrole 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 imagích hostovaných Microsoftem bohužel nemůžeme zvětšit volné místo. Kanál můžete změnit tak, aby se mohl vejít do tohoto prostoru. Nebo můžete zvážit použití agentů hostovaných 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 seznam IP adres, které se mají povolit v naší bráně firewall?

Viz rozsahy IP adres agenta oddílu

Náš kanál spuštěný na agentech hostovaných Microsoftem nemůže přeložit název serveru v naší 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 odkazujete na server 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 adres SAS z účtu Azure Storage

Pokud se zobrazí kód chyby SAS, je nejpravděpodobnější, že rozsahy IP adres od agentů hostovaných Microsoftem nejsou povolené kvůli vašim 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 vaše hostované agenty.
  2. V kanálu pomocí Azure CLI aktualizujte sadu pravidel sítě pro váš účet Azure Storage přímo 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ů na agentu hostovaného macOS?

Xamarin

Hostovaný agent macOS ukládá verze sady Xamarin SDK a přidružené mono verze jako sadu symlinků do umístění sady Xamarin SDK, která jsou k dispozici pomocí jednoho balíčku symlink.

Pokud chcete ručně vybrat verzi sady Xamarin SDK, kterou chcete použít v agentovi hostovaného macOS , spusťte následující příkaz bash před úlohou sestavení Xamarin jako součást sestavení a zadejte sadu verzí Xamarinu, kterou potřebujete.

/bin/bash -c "sudo $AGENT_HOMEDIRECTORY/scripts/select-xamarin-sdk.sh <symlink>"

Seznam všech dostupných verzí sady Xamarin SDK a symlinků najdete v dokumentaci agentů:

Tento příkaz nevybere verzi Mono nad rámec sady Xamarin SDK. Pokud chcete ručně vybrat mono verzi, přečtěte si pokyny níže.

Pokud pro sestavování aplikací Xamarin.iOS nebo Xamarin.Mac používáte jiné než výchozí verzi Xcode, měli byste navíc tento příkazový řádek spustit:

/bin/bash -c "echo '##vso[task.setvariable variable=MD_APPLE_SDK_ROOT;]'$(xcodeRoot);sudo xcode-select --switch $(xcodeRoot)/Contents/Developer"

Kde $(xcodeRoot) = /Applications/Xcode_13.2.app

Verze Xcode ve fondu agentů hostovaného macOS najdete tady.

Xcode

Pokud používáte úlohu Xcode , která je součástí Azure Pipelines a TFS, můžete ve vlastnostech dané ú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 macOS najdete tady.

Tento příkaz nefunguje pro aplikace Xamarin. Pokud chcete ručně vybrat verzi Xcode pro sestavování 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 macOS , spusťte tento skript ve všech úlohách sestavení před úlohou sestavení Mono a zadejte symlink s požadovanou verzí Mono (seznam všech dostupných symlinků najdete v části Xamarin výše):

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"

Videa