Agenti hostovaní Microsoftem

Azure Pipelines

agenti hostované microsoftem jsou k dispozici pouze u Azure DevOps Services, které jsou hostovány v cloudu. k místnímu serveru TFS nebo Azure DevOps Server nemůžete použít agenty hostované v microsoftu ani Azure Pipelines fond agentů. V těchto místních verzích je nutné použít agenty pro samoobslužné hostování.

Důležité

vyberte verzi z Azure DevOps selektor verze obsahu.

Chcete-li zobrazit obsah, který je k dispozici pro vaši platformu, ujistěte se, že jste vybrali správnou verzi tohoto článku z výběru verze, který se nachází nad obsahem. podpora funkcí se liší v závislosti na tom, zda pracujete z Azure DevOps Services nebo místní verze Azure DevOps Server přejmenována z Team Foundation Server (TFS).
Pokud chcete zjistit, kterou místní verzi používáte, podívejte se na to, jakou platformu nebo verzi používám?

pokud jsou vaše kanály v Azure Pipelines, máte k dispozici pohodlný způsob, jak 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. Po jedné úloze se virtuální počítač zahodí. Agenti hostované v Microsoft můžou spouštět úlohy přímo na virtuálním počítači nebo v kontejneru.

Azure Pipelines poskytuje předem definovaný 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. Můžete si to vyzkoušet jako první a zjistit, jestli funguje pro vaše sestavení nebo nasazení. V takovém případě můžete použít samoobslužného agenta.

Tip

Můžete vyzkoušet bezplatně agenta hostovaného společností Microsoft.

Software

Azure Pipelines fond agentů nabízí několik imagí virtuálních počítačů, ze kterých si můžete vybrat, z nichž každá zahrnuje širokou škálu nástrojů a softwaru.

Image Specifikace agenta klasického editoru Popisek image virtuálního počítače s YAML Zahrnutý software
Windows Server 2022 s Visual Studio 2022 Windows-2022 windows-2022 Propojit
Windows Server 2019 s Visual Studio 2019 Windows-2019 windows-latest ANI windows-2019 Propojit
Ubuntu 20.04 Ubuntu-20,04 ubuntu-latest ANI ubuntu-20.04 Propojit
Ubuntu 18.04 Ubuntu-18,04 ubuntu-18.04 Propojit
macOS 11 Big Sur macOS-11 macOS-latest ANI macOS-11 Propojit
macOS X Catalina 10,15 macOS-10,15 macOS-10.15 Propojit
macOS X Mojave 10,14 macOS-10,14 macOS-10.14 Propojit

Výchozí image agenta pro kanály sestavení Classic je Windows-2019a výchozí image agenta pro kanály sestavení YAML je . Další informace najdete v tématu Výběr fondu a agentů ve vašem kanálu.

Nainstalovaný software pro každého hostovaného agenta si můžete zobrazit tak, že v tabulce vyberete odkaz obsažený software . Při použití imagí macOS můžete ručně vybrat z verzí nástrojů. Viz níže.

Poznámka

se mění na macOS-11.

Hostovaná bitová kopie Ubuntu 16,04 byla odebrána z září 2021.

Windows Server 2016 s imagí Visual Studio 2017 se už nepoužívá.

v březnu 2020 jsme odebrali následující Azure Pipelines hostované image:

  • Windows serveru 2012R2 s Visual Studio 2015 ( vs2015-win2012r2 )
  • macOS × vysoká Sierra 10,13 ( macOS-10.13 )
  • Windows Server Core 1803 ( win1803 )

Zákazníkům doporučujeme migrovat do vs2017-win2016macOS-10.14 v uvedeném pořadí, nebo na vs2017-win2016 v místním prostředí.

další informace a pokyny, jak aktualizovat kanály, které tyto image používají, najdete v tématu odebrání starších imagí v Azure Pipelines hostovaných fondech.

Poznámka

Azure Pipelines hostovaný fond nahrazuje předchozí hostované fondy, které měly názvy namapované na odpovídající obrázky. 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. v některých případech se může stát, že se pořád zobrazují staré názvy fondů, ale na pozadí se hostované úlohy spouštějí pomocí fondu Azure Pipelines. Další informace o této aktualizaci najdete v poznámkách k vydání verze s jedním hostovaným fondem z poznámky k verzi z července 1 2019 – Sprint 154.

Důležité

Pokud chcete požádat o další software, který se má nainstalovat do agentů hostovaných Microsoftem, nevytvářejte v tomto dokumentu žádost o zpětnou vazbu ani otevř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í.

Použití agenta hostovaného Microsoftem

pokud v kanálech YAML nezadáte fond, budou kanály výchozím nastavením fondu agenta Azure Pipelines. Stačí zadat, kterou image virtuálního počítače 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

Specifikace fondu se dá udělat na několika úrovních v souboru YAML. Pokud si všimnete, že váš kanál neběží na očekávané imagi, ujistěte se, že jste ověřili specifikace fondu na úrovních kanálu, fáze a úlohy.

Vyhnout se pevně zakódovaným odkazům

Při použití agenta hostovaného Microsoftem vždy používejte proměnné pro odkazování na prostředky prostředí sestavení a agentů. Například nepoužívejte pevný kód pro 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é v microsoftu, kteří používají Windows a Linux, se zřídí na virtuálních počítačích pro obecné účely Azure s procesorem 2 jádra, 7 GB paměti RAM a 14 gb místa na disku SSD. tyto virtuální počítače se společně nacházejí ve stejné zeměpisné oblasti jako vaše Azure DevOps organizace.

Agenti, kteří spouštějí image macOS, jsou zřízené na specialistech Mac se 3 základními PROCESORy, 14 GB paměti RAM a 14 GB místa na disku SSD. tito agenti se vždycky spouštějí v usa bez ohledu na umístění vaší Azure DevOps organizace. Pokud je pro vás důležitá tato suverenita dat a pokud vaše organizace není v USA, neměli byste používat image 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ž váš kanál rezervuje zdrojový kód, stáhne balíčky, vyžádá snímky Docker nebo vygeneruje mezilehlé soubory.

Důležité

Nemůžeme dodržet žádosti o zvýšení místa na disku u agentů hostovaných Microsoftem nebo k zřizování výkonnějších počítačů. Pokud specifikace agentů hostovaných Microsoftem nevyhovují vašim potřebám, měli byste zvážit samoobslužné agenty nebo agenty sady škálování.

Sítě

V některých nastaveních možná budete potřebovat znát rozsah IP adres, ve kterých se nasazují agenti. Pokud například potřebujete udělit hostované agentům přístup přes bránu firewall, možná budete chtít omezit přístup 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ší. Zveřejňujeme týdenní seznam ROZSAHŮ IP adres pro datacentra Azure, které jsou rozdělené podle oblasti. Tento soubor se aktualizuje týdně s novými plánovanými rozsahy IP adres. Nové rozsahy IP adres začnou platit následující týden. Doporučujeme, abyste pravidelně provedli kontrolu (nejméně jednou týdně) a zajistili si tak aktuální seznam. Pokud se úlohy agenta začnou zdařit, klíčovým prvním krokem při odstraňování potíží se ujistěte, že vaše konfigurace odpovídá nejnovějšímu seznamu IP adres. Rozsahy IP adres hostovaných agentů jsou uvedeny v týdenním souboru AzureCloud.<region> , například AzureCloud.westus pro oblast západní USA.

Vaši hostovaná agenti běží ve stejné geografické oblasti Azure jako vaše organizace. Každé geografické umístění obsahuje jednu nebo více oblastí. I když může být agent spuštěný ve stejné oblasti jako vaše organizace, není to zaručené. Chcete-li získat úplný seznam možných rozsahů IP adres pro vašeho agenta, je nutné použít rozsahy IP adres ze všech oblastí, které jsou obsaženy ve vaší zeměpisné oblasti. Pokud je vaše organizace například v oblasti USA geografie, je nutné použít rozsahy IP adres pro všechny oblasti v dané zeměpisné oblasti.

Chcete-li určit své geografické prostředí, přejděte do https://dev.azure.com/<your_organization>/_settings/organizationOverview oblasti, Získejte svou oblast a vyhledejte související zeměpisnou oblast z tabulky https://dev.azure.com/<your_organization>/_settings/organizationOverview . Jakmile identifikujete zeměpisnou oblast, použijte rozsahy IP adres z týdenního souboru pro všechny oblasti v této 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 přes veřejnou síť.

Určení možných rozsahů IP adres pro agenty hostované společností Microsoft

  1. Identifikujte oblast vaší organizace v Nastavení organizace.
  2. Identifikujte zeměpisnou oblast Azure pro oblast vaší organizace.
  3. Namapujte názvy oblastí v geografickém formátu na formát používaný v týdenním souboru podle formátu AzureCloud.<region> , například AzureCloud.westus . Názvy oblastí můžete namapovat ze seznamu geografických oblastí Azure do formátu používaného v týdenním souboru tím, že zkontrolujete názvy oblastí předané do konstruktoru oblastí definovaných ve zdrojovém kódu třídy region, a to z knihoven pro správu Azure pro .NET.

    Poznámka

    Vzhledem k tomu, že v knihovnách pro správu Azure není žádné rozhraní API pro seznam oblastí pro zeměpisnou oblast, je nutné je uvést 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ě náhradní geografické oblasti, jak je popsáno v následující poznámce.

Poznámka

V důsledku omezení kapacity můžou některé organizace v oblasti Brazílie – jih nebo západní Evropa občas zobrazovat své hostované agenty nacházející se mimo očekávanou zeměpisnou polohu. V těchto případech kromě zahrnutí rozsahů IP adres pro všechny oblasti ve vaší zeměpisné oblasti, jak je popsáno v předchozí části, musí být do oblastí v rámci náhradní geografické kapacity zahrnuté další rozsahy IP adres.

Pokud je vaše organizace v oblasti Brazílie – jih , je USAzeměpisná geografická kapacita.

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

naše rozsahy IP adres Mac nejsou zahrnuté do výše uvedených ip adres Azure, protože jsou hostované v cloudu macOS GitHub. rozsahy IP adres se dají načíst pomocí GitHub rozhraní API metadat podle pokynů uvedených tady.

Příklad

V následujícím příkladu se rozsahy IP adres hostovaného agenta pro organizaci v Západní USA oblasti načítají z týdenního souboru. Vzhledem k tomu, že oblast Západní USA je v oblasti USA geografie, jsou zahrnuté IP adresy pro všechny oblasti v USA geografické 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 uvedení podle značek služeb. Pokud se snažíte udělit přístup hostovaným agentům k vašim prostředkům, budete muset postupovat podle metody výpisu rozsahu IP adres povolit.

Zabezpečení

Agenti hostované Microsoftem běží na zabezpečené platformě Azure. Je však třeba mít na paměti následující informace o zabezpečení.

  • I když jsou na veřejné síti Azure spuštěné agenti hostované v Microsoftu, nepřiřazují se veřejné IP adresy. Externí entity proto nemohou cílit na agenty hostované společností Microsoft.
  • Agenti hostované Microsoftem se spouštějí v jednotlivých virtuálních počítačích, které se po každém spuštění znovu naimagí. Každý agent je vyhrazený pro jednu organizaci a každý virtuální počítač je hostitelem jenom jednoho agenta.
  • Pro spuštění kanálu v agentech hostovaných Microsoftem je k dispozici několik výhod z hlediska zabezpečení. Pokud ve vašem kanálu spouštíte nedůvěryhodný kód, jako je například příspěvky z rozvětvení, je bezpečnější spustit kanál v agentech hostovaných společností Microsoft, než u agentů v místním prostředí, které jsou umístěny ve vaší podnikové síti.
  • Když kanál potřebuje přístup k firemním prostředkům za bránou firewall, musíte pro zeměpisnou oblast Azure povolený rozsah IP adres. To může zvýšit vaši expozici, protože rozsah IP adres je spíše velký a vzhledem k tomu, že počítače v tomto rozsahu mohou patřit i jiným zákazníkům. Nejlepším způsobem, jak zabránit tomu, je vyhnout se nutnosti přístupu k interním prostředkům.
  • Hostované image nevyhovují srovnávacím testům pro posílení zabezpečení CIS. Pokud chcete použít image s podporou CIS, musíte vytvořit buď agenty s místním hostováním, nebo agenty se škálováním na více sad.

Funkce a omezení

Agenti hostované v Microsoftu:

  • Mít výše uvedený software. Během sestavování nebo vydávání můžete také přidat software pomocí úloh instalačního programu nástroje.
    • Pro každou úlohu ve vašem kanálu získáte čerstvou image agenta.
  • Poskytněte 10 GB úložiště pro výstupy zdrojového kódu a sestavení.
  • Zadejte bezplatnou úroveň:
    • Veřejný projekt: 10 bezplatných paralelních úloh hostovaných Microsoftem, které můžou běžet po dobu až 360 minut (6 hodin), a to po celou dobu bez celkového časového limitu za měsíc. Kontaktujte nás a získejte větší limity úrovně Free.
    • Soukromý projekt: jednu bezplatnou paralelní úlohu, která může běžet po dobu až 60 minut, dokud nepoužijete 1 800 minut (30 hodin) měsíčně. Můžete platit za další kapacitu na paralelní úlohu. Placené Paralelní úlohy odstraňují měsíční časový limit a umožňují spouštět každou úlohu po dobu až 360 minut (6 hodin). Kupte si Paralelní úlohy hostované Microsoftem.
    • když vytváříte novou Azure DevOps organizaci, ve výchozím nastavení nejsou tyto bezplatné granty uděleny. Chcete-li požádat o bezplatné udělení pro veřejné nebo soukromé projekty, odešlete žádost.
  • spustit na Microsoft Azure virtuálních počítačích pro obecné účely Standard_DS2_v2
  • spustit jako správce na Windows a sudo uživatele s heslem na platformě Linux
  • (Pouze Linux) Spuštění kroků v cgroup , které nabízí 6 GB fyzické paměti a 13 GB celkové paměti

Agenti hostující Microsoft nenabízí:

  • Možnost vzdáleného připojení.
  • Možnost vyřadit 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ší sestavovací počítače.
  • Možnost předběžného načtení vlastního softwaru. Software můžete nainstalovat během spuštění kanálu, například prostřednictvím úloh instalačního programu nástroje nebo skriptu.
  • Potenciální výhody výkonu, které můžete obdržet pomocí agentů v místním prostředí, které by mohly spouštět a spouštět sestavení rychleji. Další informace
  • Možnost spouštět sestavení XAML.

Pokud agenti hostované v Microsoftu nevyhovují vašim potřebám, můžete nasadit vlastní agenty s vlastním hostováním nebo použít agenty sady škálování.

Časté otázky

Jak můžu zjistit, jaký software je součástí image?

Nainstalovaný software pro každého hostovaného agenta si můžete zobrazit tak, že v tabulce software kliknete na zahrnutý odkaz na software .

Jak společnost Microsoft zvolí software a verze, které mají být umístěny do bitové kopie?

Další informace o verzích softwaru zahrnutých do imagí najdete v pokynech k instalaci.

Kdy se obrázky aktualizují?

Obrázky se obvykle aktualizují týdně. Můžete kontrolovat stavová oznámení, která jsou ve formátu, ve kterém první část indikuje datum, kdy se obrázek aktualizoval.

Co můžu udělat, když je potřebný software odebraný nebo se nahrazuje novější verzí?

můžete nám poznat, že napíšete problém GitHub tím, že vyberete zahrnuté softwarové odkazy v tabulce použít agenta hostovaného společností Microsoft .

Můžete také použít samoobslužného agenta, který obsahuje přesné verze softwaru, které potřebujete. Další informace najdete v tématu agenti pro samoobslužné hostování.

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

Nemůžeme zvětšit paměť, výpočetní výkon ani místo na disku pro agenty hostované Microsoftem, ale můžete použít samoobslužné agenty nebo agenty sady škálování , jejichž hostitelem jsou počítače s požadovanými specifikacemi.

Nemůžu vybrat agenta hostovaného Microsoftem a Build nebo nasazení nejde zařadit do fronty. Co bych měl/a dělat?

agenti hostovaná společností Microsoft jsou k dispozici pouze v 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 k agentům hostovaným Microsoftem pro výběr uživatelů nebo projektů. požádejte vlastníka vaší Azure DevOps organizace, aby vám udělil oprávnění používat agenta hostovaného společností Microsoft. Viz zabezpečení fondu agentů.

Moje kanály spuštěné v agentech hostovaných společností Microsoft si vyberou více času na dokončení. Jak se dá zrychlit?

Pokud se váš kanál nedávno stal pomalejší, přečtěte si náš stavovou stránku po případné výpadky. Můžeme mít problémy s naší službou. Nebo jinak zkontrolujte všechny změny, které jste provedli v kódu aplikace nebo kanálu. Velikost vašeho úložiště během rezervace se možná zvýšila, možná budete nahrávat větší artefakty nebo máte spuštěné další testy.

Pokud jenom nastavujete kanál a porovnáváte výkon agentů hostovaných Microsoftem s vaším místním počítačem nebo agentem s vlastním hostováním, pak si poznamenejte 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ů s místním hostováním nebo agentů sady škálování .

Potřebuji další agenty. Co mám udělat?

všechny Azure DevOps organizace jsou k dispozici s několika bezplatnými paralelními úlohami pro open source projekty a jedné bezplatné paralelní úlohy a omezené minuty v každém měsíci pro soukromé projekty. Pokud potřebujete další minuty nebo Paralelní úlohy pro open source projekt, obraťte se na podporu. Pokud pro váš soukromý projekt potřebujete další minuty nebo Paralelní úlohy, můžete si koupit další.

Kanál se úspěšně naplní na samoobslužného agenta, ale v agentech hostovaných Microsoftem se nezdaří. Co bych měl/a dělat?

Váš místní hostovaný agent pravděpodobně obsahuje všechny správné závislosti, které jsou na něm nainstalovány, zatímco stejné závislosti, nástroje a software nejsou nainstalovány v agentech hostovaných společností Microsoft. Nejdřív si pečlivě Projděte seznam softwaru, který je nainstalovaný v agentech hostovaných Microsoftem, pomocí odkazu na Zahrnutý software v tabulce výše. Pak porovnejte s softwarem nainstalovaným na vašem samoobslužném agentovi. v některých případech můžou mít agenti hostované v microsoftu nástroje, které potřebujete (například Visual Studio), ale některé z nezbytných volitelných součástí možná nebudou nainstalované. Pokud najdete rozdíly, máte dvě možnosti:

  • V úložištimůž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 v agentech hostovaných Microsoftem.

  • Můžete použít samoobslužné agenty nebo agenty sady škálování. S těmito agenty máte plnou kontrolu nad imagemi, které se používají ke spouštění kanálů.

Sestavení je v místním počítači úspěšné, ale v agentech hostovaných společností Microsoft dojde k chybě. Co bych měl/a dělat?

Váš místní počítač má pravděpodobně všechny správné závislosti, které jsou na něm nainstalovány, zatímco stejné závislosti, nástroje a software nejsou nainstalovány v agentech hostovaných společností Microsoft. Nejdřív si pečlivě Projděte seznam softwaru, který je nainstalovaný v agentech hostovaných Microsoftem, pomocí odkazu na Zahrnutý software v tabulce výše. Pak porovnejte s nainstalovaným softwarem na místním počítači. v některých případech můžou mít agenti hostované v microsoftu nástroje, které potřebujete (například Visual Studio), ale některé z nezbytných volitelných součástí možná nebudou nainstalované. Pokud najdete rozdíly, máte dvě možnosti:

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

  • Můžete použít samoobslužné agenty nebo agenty sady škálování. S těmito agenty máte plnou kontrolu nad imagemi, které se používají ke spouštění kanálů.

Můj kanál se nezdařil s chybou: na zařízení není volné místo.

Agenti hostovaní Microsoftem mají pro spuštění vaší úlohy k dispozici pouze 10 GB místa na disku. Toto místo se spotřebovává při rezervaci zdrojového kódu, když stahujete balíčky, když stahujete image Docker, nebo když vytváříte mezilehlé soubory. Bohužel nemůžeme zvětšit volné místo dostupné na imagí hostovaných Microsoftem. Kanál můžete změnit tak, aby se vešel do tohoto prostoru. Nebo můžete zvážit použití agentů s místním hostováním nebo agentů sady škálování.

Moje kanály běžící na agentech hostovaných Microsoftem vyžadují přístup k serverům v naší podnikové síti. Jak získám seznam IP adres, které se mají v naší bráně firewall povolit?

Viz část rozsahy IP adres agenta .

Náš kanál běžící na agentech hostovaných Microsoftem není schopen přeložit název serveru v naší podnikové síti. Jak to můžeme vyřešit?

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

zobrazuje se chyba autorizace SAS protokolu SAS z účtu Azure Storage

pokud obdržíte kód chyby SAS, je to pravděpodobně proto, že rozsahy IP adres od agentů hostovaných společností Microsoft nejsou povoleny z důvodu vašich Azure Storagech pravidel. Existuje několik alternativních řešení:

  1. spravujte pravidla sítě ip pro svůj účet Azure Storage a přidejte rozsahy ip adres pro hostované agenty.
  2. v kanálu pomocí Azure CLI aktualizujte síťový ruleset pro váš účet Azure Storage ještě před tím, než získáte přístup k úložišti, a pak obnovte předchozí ruleset.
  3. Použijte samoobslužné agenty nebo agenty sady škálování.

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

Xamarin

Hostovaný agent MacOS ukládá verze sady Xamarin SDK a přidružené verze mono jako sadu symbolických odkazů do umístění sady Xamarin SDK, které jsou dostupné v jediné sadě prostředků symlink.

Pokud chcete ručně vybrat verzi sady Xamarin SDK, která se má použít u hostovaného agenta MacOS , spusťte následující příkaz bash před tím, než vytvoříte úlohu sestavení Xamarin jako součást vašeho sestavení, a určete sadu symlink do sady Xamarin verze, 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 symbolických odkazů najdete v dokumentaci k agentům:

Tento příkaz nevybere verzi mono mimo sadu Xamarin SDK. Chcete-li ručně vybrat verzi mono, postupujte podle pokynů níže.

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

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

, $(xcodeRoot) = /Applications/Xcode_12.4.app

Verze Xcode ve fondu MacOS hostovaných agentů najdete tady.

Xcode

pokud použijete úlohu Xcode , která je součástí Azure Pipelines a TFS, můžete ve vlastnostech této úlohy vybrat verzi Xcode. V opačném případě, pokud chcete ručně nastavit verzi Xcode, která se má použít ve fondu agentů hostovaného MacOS , spusťte před úkolem sestavení Tento příkazový řádek jako součást sestavení a nahraďte číslo verze Xcode 12,4 podle potřeby:

/bin/bash -c "sudo xcode-select -s /Applications/Xcode_12.4.app/Contents/Developer"

Verze Xcode ve fondu MacOS hostovaných agentů najdete tady.

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

Mono

Pokud chcete ručně vybrat verzi mono, která se má použít u hostovaného fondu agentů MacOS, spusťte tento skript v každé úloze sestavení před úlohou sestavení mono, zadáním symlink s požadovanou verzí mono (seznam všech dostupných symbolických odkazů 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