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 tohoto článku, která odpovídá vaší platformě a verzi. Selektor verzí je nad tabulkou obsahu. 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 VM, kterou zadáte ve svém pipeline. Při každém spuštění pipeline dostanete nový virtuální počítač pro každou úlohu v pipeline. 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 vaše úlohy. Můžete si to nejdříve vyzkoušet a zjistit, jestli to funguje pro vaše sestavení nebo nasazení. Pokud ne, můžete použít agenty škálovací sady nebo samostatně hostovaného agenta.
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.
Obrázek | Specifikace klasického agenta editoru | Popisek YAML obrazu virtuálního počítače | Zahrnutý software |
---|---|---|---|
Windows Server 2025 se sadou Visual Studio 2022 (preview) | windows-2025 | windows-2025 |
Odkaz |
Windows Server 2022 se sadou Visual Studio 2022 | windows-2022 |
windows-latest NEBO windows-2022 |
Odkaz |
Windows Server 2019 a 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 Sequoia (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 |
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 potrubí.
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
- Image windows-2025 je dostupná ve verzi Preview.
- Image Monterey pro macOS-12 byla vyřazena.
- Obrázek macOS-15 Sequoia je k dispozici ve verzi Preview.
- K dispozici je image Ubuntu-24.04.
- Image Monterey pro macOS-12 je zastaralá a bude vyřazena 3. prosince 2024.
- Image Ubuntu-22.04 je k dispozici.
- Obrázek Sonoma pro macOS-14 je k dispozici ve verzi Preview.
- Obraz macOS-11 Big Sur je zastaralý a bude vyřazen k 28. červnu 2024.
- Všichni agenti hostovaní Microsoftem začnou od 28. ledna používat PowerShell 7.2 LTS k PowerShellu 7.4 LTS. Další informace, včetně potenciálních zásadních změn, najdete v tématu Agenti hostované Microsoftem pomocí PowerShellu 7.4.
- Obraz macOS 13 je obecně dostupný.
- Image macOS 10.15 je od 24. 4. 2023 plně nepodporovaná.
- Image Ubuntu 18.04 je vyřazená.
-
ubuntu-latest
obrázky používajíubuntu-22.04
. - Oficiální dostupnost Ubuntu 22.04 pro hostované fondy Azure Pipelines
- Podpora obrazu Ubuntu 18.04 bude ukončena od 8. 8. 2022 a po 1. 4. 2023 bude zcela nepodporována.
- Image macOS 10.15 bude vyřazována od 31. 5. 2022 a bude plně nepodporována od 1. 12. 2022.
-
windows-latest
obrázky používajíwindows-2022
. -
macOS-latest
obrázky používajímacOS-11
. - Hostovaná image Ubuntu 16.04 byla odebrána v září 2021.
- Obraz Windows Serveru 2016 se sadou Visual Studio 2017 je zastaralý a byl vyřazen 30. června 2022. Přečtěte si tento blogový příspěvek o tom, jak identifikovat kanály pomocí zastaralých obrázků.
- V prosinci 2021 jsme odebrali následující hostovanou image Azure Pipelines:
- macOS X Mojave 10.14 (
macOS-10.14
)
- macOS X Mojave 10.14 (
- V březnu 2020 jsme odebrali následující hostované image Azure Pipelines:
- Windows Server 2012R2 s Visual Studio 2015 (
vs2015-win2012r2
) - macOS X High Sierra 10.13 (
macOS-10.13
) - Windows Server Core 1803 (
win1803
)
- Windows Server 2012R2 s Visual Studio 2015 (
Zákazníkům se doporučuje, aby migrovali na novější verze nebo používali agenta s vlastním hostováním.
Další informace a pokyny k aktualizaci kanálů, které tyto obrazy používají, najdete v tématu Odebrání starších obrazů v rámci hostovaných fondů služby Azure Pipelines.
Poznámka:
Hostovaný fond služby Azure Pipelines nahrazuje předchozí hostované fondy s názvy spojenými s odpovídajícími obrazy. Všechny úlohy, které jste měli v předchozích hostovaných fondech, jsou automaticky přesměrovány na správný image v novém hostovaném fondu Azure Pipelines. Za určitých okolností se vám mohou 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í jednoho hostovaného poolu z poznámek k vydání z 1. července 2019 – Sprint 154.
Důležité
Pokud chcete požádat o instalaci dalšího softwaru na agentech hostovaných Microsoftem, neposílejte zpětnou vazbu v tomto dokumentu ani neotevírejte podpůrný tiket. Místo toho otevřete problém v našem úložišti, kde spravujeme skripty pro generování různých imagí.
Jak identifikovat pipeline pomocí zastaralého hostovaného obrazu
Pokud chcete identifikovat potrubí, 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/agentqueues
, a vyfiltrujte podle názvu image, abyste je mohli zkontrolovat. Následující příklad zkontroluje vs2017-win2016
obrázek.
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 vaše potrubí neběží na očekávaném obrazu, ujistěte se, že ověříte specifikaci fondu na úrovni potrubí, 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 nevkládejte natvrdo písmeno disku nebo složku, která obsahuje úložiště. Přesné rozložení hostovaných agentů se může změnit bez upozornění.
počítačové vybavení
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, jsou zřizováni na počítačích Mac Pro s procesorem s 3 jádry, 14 GB RAM a 14 GB úložného prostoru 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 procesů. Toto volné místo se spotřebovává, když pipeline načítá zdrojový kód, stahuje balíčky, získává 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 agenty v místním prostředí nebo agenty z škálovací sady nebo spravované fondy DevOps.
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 fungovat ve stejné oblasti jako vaše organizace, není zaručeno, že tomu 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/organizationOverview
oblasti 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
- Určete oblast vaší organizace v nastavení organizace.
- Určete geografickou oblast Azure pro oblast vaší organizace.
- Namapujte názvy oblastí ve vaší geografii na formát použitý v týdenním souboru podle formátu
AzureCloud.<region>
, napříkladAzureCloud.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.
- 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 regionu Západní Evropa, záložní zeměpisná oblast kapacity je 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 Západ USA patří do geografické oblasti Spojených států, jsou zahrnuty IP adresy pro všechny oblasti v geografii Spojených států. 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.
- Z pohledu zabezpečení má spuštění vaší pipeline na agentech hostovaných Microsoftem několik výhod. Pokud ve svém potrubí spustíte nedůvěryhodný kód, například příspěvky z forků, je bezpečnější spustit potrubí na Microsoftem hostovaných agentech než na vlastních agentech, kteří se nacházejí ve vaší korporátní síti.
- Pokud kanál potřebuje přístup k podnikovým prostředkům chráněným 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é obrazy nevyhovují standardům posilování zabezpečení CIS. Pokud chcete používat obrazy zabezpečené podle standardu CIS, musíte vytvořit buď agenty s vlastním hostováním, škálovatelné agenty, nebo spravované DevOps skupiny.
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ě nakonfigurovaného agenta pro každou úlohu ve vašem potrubí.
- Poskytněte 10 GB úložného prostoru pro váš zdrojový kód a výsledky sestavení.
- Poskytněte bezplatnou úroveň.
- 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 jako uživatel sudo bez hesla v Linuxu.
- (jenom pro Linux) Spusťte kroky v prostředí
cgroup
, které nabízí 6 GB fyzické paměti a 13 GB celkové paměti. - Používejte obrazy VM, které se pravidelně aktualizují (každé tři 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řednačtení vlastního softwaru. Software můžete instalovat během spuštění pipeline, například prostřednictvím úloh pro instalaci nástrojů nebo ve skriptu.
- Potenciální výkonnostní výhody, které můžete získat pomocí samohostovaných agentů, které můžou spouštět a provádět buildy rychleji. Další informace
- Možnost spouštět XAML sestavení.
- 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 nebo použít agenty ve škálovatelných sadách, nebo spravované DevOps fondy.
Č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ě.
- Nastavte proměnnou pipeline s názvem
System.PreferGitFromPath
natrue
ve svých pipelinech. - Na samo-hostovaných agentech můžete vytvořit soubor s názvem .env v kořenovém adresáři agenta a přidat řádek
System.PreferGitFromPath=true
do souboru. Další informace najdete v tématu Návody nastavení různých proměnných prostředí pro každého jednotlivého agenta?
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í obrazů, najdete v Pokynech pro to, co je nainstalováno.
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 vytvořením issue na GitHubu tak, že v tabulce Použít agenta hostovaného Microsoftem zvolíte Odkazy na zahrnutý software.
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 Vlastnoručně hostovaní agenti.
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?
Paměť, výpočetní výkon ani místo na disku u agentů hostovaných Microsoftem nemůžeme zvýšit, ale můžete použít zákaznické agenty, škálovatelnou sadu agentů nebo spravované fondy DevOps 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í mých pipelines spuštěných na agentech hostovaných Microsoftem trvá déle. Jak to můžu urychlit?
Pokud se váš pracovní postup 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. Případně projděte všechny změny, které jste udělali v kódu aplikace nebo v pipeline. Je možné, že velikost vašeho úložiště se při odbavení 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í sady nebo spravovaných fondů DevOps.
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ší.
Můj pipeline je úspěšný na self-hostovaných agentech, ale selže na agentech hostovaných Microsoftem. 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. Poté porovnejte to se softwarem nainstalovaným na vašem samostatně hostovaném agentovi. 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 vlastní hostované agenty nebo agenty škálovacích sad nebo spravované fondy DevOps. S těmito agenty máte plnou kontrolu nad obrazy, které se používají pro spuštění pipeline.
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 vlastní hostované agenty nebo agenty škálovacích sad nebo spravované fondy DevOps. S těmito agenty máte plnou kontrolu nad obrazy, které se používají pro běh vašich pipeline.
Můj pipeline 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 přetažení zdrojového kódu, při stahování balíčků, při stahování obrazů Dockeru nebo při vytváření prozatímních souborů. Na obrázcích hostovaných Microsoftem bohužel nemůžeme zvětšit volné místo. Můžete přetvořit své potrubí tak, aby se vešlo do tohoto prostoru. Nebo můžete zvážit použití samohostovaných agentů nebo agentů ve škálovacích sadách nebo spravovaných DevOps poolů.
Můj pipeline běžící na agentech hostovaných Microsoftem potřebuje přístup k serverům v naší firemní síti. Jak získáme seznam IP adres, které můžeme povolit v našem firewallu?
Podívejte se na oddíl Rozsahy IP adres agenta.
Naše potrubí spuštěné na agentech hostovaných Microsoftem není schopné vyřešit jméno 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 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 jakákoli brána firewall mezi agenty a vaší podnikovou sítí umožňovala 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í:
- Spravujte pravidla sítě IP pro váš účet Azure Storage a přidejte rozsahy IP adres pro hostované agenty.
- V rámci vašeho pipeline použijte Azure CLI k aktualizaci sady pravidel sítě pro váš účet Azure Storage těsně před přístupem k úložišti a poté obnovte předchozí sadu pravidel.
- Používejte agenty v místním prostředí nebo agenty sady škálování nebo spravované pooly DevOps.
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ých macOS najdete zde.
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"