Microsofts värdbaserade agenter
Azure DevOps Services
Microsoft-hanterade agenter är endast tillgängliga med Azure DevOps Services, som är molnbaserade. Du kan inte använda Microsoft-värdbaserade agenter eller Azure Pipelines-agentpoolen med lokal TFS eller Azure DevOps Server. Med dessa lokala versioner måste du använda lokalt installerade agenter.
Viktigt!
Välj den version av den här artikeln som motsvarar din plattform och version. Versionsväljaren ligger ovanför innehållsförteckningen. Leta upp din Azure DevOps-plattform och -version.
Om dina pipelines finns i Azure Pipelines har du ett praktiskt alternativ för att köra dina uppgifter med hjälp av en Microsoft-hostad agent. Med Microsoft-värdbaserade agenter slipper du själv genomföra underhåll och uppgraderingar. Du får alltid den senaste versionen av den virtuella datoravbildningen som du anger i din pipeline. Varje gång du kör en pipeline får du en ny virtuell dator för varje jobb i pipelinen. Den virtuella datorn tas bort efter ett jobb (vilket innebär att alla ändringar som ett jobb gör i filsystemet för den virtuella datorn, till exempel att checka ut kod, inte är tillgängliga för nästa jobb). Microsoft-värdbaserade agenter kan köra jobb direkt på den virtuella datorn eller i en container.
Azure Pipelines tillhandahåller en fördefinierad agentpool med namnet Azure Pipelines med Microsoft-värdbaserade agenter.
För många team är det här det enklaste sättet att köra dina jobb. Du kan prova det först och se om det fungerar för din version eller distribution. Annars kan du använda skalningsagenter eller en egen värd-agent.
Tips
Du kan prova en Microsoft-värdbaserad agent utan kostnad.
Programvara
Azure Pipelines-agentpoolen erbjuder flera avbildningar av virtuella datorer att välja mellan, inklusive ett brett utbud av verktyg och programvara.
Bild | Specifikation för klassisk redigeringsagent | YAML VM-avbildningsetikett | Programvara som ingår |
---|---|---|---|
Windows Server 2025 med Visual Studio 2022 (förhandsversion) | windows-2025 | windows-2025 |
Länk |
Windows Server 2022 med Visual Studio 2022 | windows-2022 |
windows-latest ELLER windows-2022 |
Länk |
Windows Server 2019 med Visual Studio 2019 | windows-2019 | windows-2019 |
Länk |
Ubuntu 24.04 | ubuntu-24.04 | ubuntu-24.04 |
Länk |
Ubuntu 22.04 | ubuntu-22.04 |
ubuntu-latest ELLER ubuntu-22.04 |
Länk |
Ubuntu 20.04 | ubuntu-20.04 | ubuntu-20.04 |
Länk |
macOS 15 Sequoia (förhandsversion) | macOS-15 | macOS-15 |
Länk |
macOS 14 Sonoma | macOS-14 |
macOS-latest ELLER macOS-14 |
Länk |
macOS 13 Ventura | macOS-13 | macOS-13 |
Länk |
Standardagentens avbild för klassiska byggpipelines är windows-2019, och standardagentens avbild för YAML-byggpipelines är ubuntu-latest
. För mer information se Ange en pool i din pipeline.
Du kan se den installerade programvaran för varje värdbaserad agent genom att välja länken Inkluderad programvara i tabellen. När du använder macOS-avbildningar kan du välja mellan verktygsversioner manuellt. Läs mer.
Senaste uppdateringarna
- Windows-2025-avbildningen är tillgänglig i förhandsversionen
- Bilden macOS-12 Monterey har dragits tillbaka
- MacOS-15 Sequoia-avbildningen är tillgänglig i förhandsversionen
- Ubuntu-24.04-avbildningen är tillgänglig
- Avbildningen macOS-12 Monterey är inaktuell och kommer att dras tillbaka den 3 december 2024.
- Ubuntu-22.04-avbildningen är tillgänglig
- macOS-14 Sonoma-avbildningen är tillgänglig som förhandsversion
- MacOS-11 Big Sur-avbildningen är inaktuell och kommer att dras tillbaka den 28 juni 2024.
- Alla Microsoft-värdbaserade agenter börjar använda PowerShell 7.2 LTS till PowerShell 7.4 LTS från och med den 28 januari. För mer information, inklusive potentiella ändringar som kan påverka kompatibiliteten, se Microsofts värdbaserade agenter använder PowerShell 7.4.
- MacOS 13-avbildningen är allmänt tillgänglig
- macOS 10.15-avbildningen stöds inte alls från och med 2023-04-24
- Ubuntu 18.04-avbildningen har dragits tillbaka
-
ubuntu-latest
bilder använderubuntu-22.04
. - Allmän tillgänglighet för Ubuntu 22.04 för värdbaserade pooler i Azure Pipelines.
- Ubuntu 18.04-avbildningen påbörjar utfasningen den 8/8/2022 och kommer att vara helt föråldrad den 1/4/2023.
- MacOS 10.15-avbildningen kommer att börja fasas ut den 31/5 2022 och kommer inte att stödjas alls från och med 1/12 2022.
-
windows-latest
bilder använderwindows-2022
. -
macOS-latest
bilder användermacOS-11
. - Den värdbaserade Ubuntu 16.04-avbildningen togs bort september 2021.
- Windows Server 2016-bilden med Visual Studio 2017 är inaktuell och avvecklades den 30 juni 2022. Läs det här blogginlägget om hur du identifierar pipelines med föråldrade bilder.
- I december 2021 tog vi bort följande avbild som var värd i Azure Pipelines.
- macOS X Mojave 10.14 (
macOS-10.14
)
- macOS X Mojave 10.14 (
- I mars 2020 tog vi bort följande värdbaserade avbildningar från Azure Pipelines:
- Windows Server 2012R2 med Visual Studio 2015 (
vs2015-win2012r2
) - macOS X High Sierra 10.13 (
macOS-10.13
) - Windows Server Core 1803 (
win1803
)
- Windows Server 2012R2 med Visual Studio 2015 (
Kunder uppmanas att migrera till nyare versioner eller en lokalt installerad agent.
Mer information och instruktioner om hur du uppdaterar dina pipelines som använder dessa avbildningar kan du hitta i 'Ta bort äldre avbildningar i Azure Pipelines värdpooler'.
Anteckning
Den värdbaserade Azure Pipelines-poolen ersätter de tidigare värdbaserade poolerna som hade namn som mappats till motsvarande avbildningar. Alla jobb som du hade i de tidigare hostade poolerna omdirigeras automatiskt till rätt bild i den nya Azure Pipelines-hostade poolen. I vissa fall kan du fortfarande se de gamla poolnamnen, men bakom kulisserna körs de värdbaserade jobben med hjälp av Azure Pipelines-poolen. Mer information om den här uppdateringen finns i versionsinformationen för en Enskild värdbaserad pool i versionsanteckningarna för 1 juli 2019 – Sprint 154.
Viktigt!
Om du vill begära ytterligare programvara som ska installeras på Microsoft-värdbaserade agenter ska du inte skapa en feedbackbegäran om det här dokumentet eller öppna ett supportärende. Öppna i stället ett ärende på lagringsplatsen, där vi hanterar skripten för att generera olika avbildningar.
Så här identifierar du pipelines med en föråldrad hostad avbildning
Om du vill identifiera pipelines som använder en inaktuell bild bläddrar du till följande plats i din organisation: https://dev.azure.com/{organization}/{project}/_settings/agentqueues
och filtrerar på avbildningsnamnet för att kontrollera. I följande exempel kontrolleras bilden vs2017-win2016
.
Du kan också fråga jobbhistorik för inaktuella bilder i projekt med hjälp av skriptet som finns här, som du ser i följande exempel.
./QueryJobHistoryForRetiredImages.ps1 -accountUrl https://dev.azure.com/{org} -pat {pat}
Använd en Microsoft-hanterad agent
Om du inte anger någon pool i YAML-pipelines används agentpoolen för Azure Pipelines som standardinställning. Du behöver bara ange vilken avbildning av den virtuella datorn som du vill använda.
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
Kommentar
Specifikationen för en pool kan göras på flera nivåer i en YAML-fil. Om du märker att pipelinen inte körs på den förväntade avbildningen kontrollerar du poolspecifikationen på pipeline-, fas- och jobbnivå.
Undvik hårdkodade referenser
När du använder en Microsoft-värdbaserad agent ska du alltid använda variabler för att referera till byggmiljön och agentresurserna. Hårdkoda till exempel inte enhetsbeteckningen eller mappen som innehåller lagringsplatsen. Den exakta layouten för de värdbaserade agenterna kan komma att ändras utan förvarning.
Maskinvara
Microsoft-värdbaserade agenter som kör Windows- och Linux-avbildningar tillhandahålls på Azure allmänna virtuella maskiner med en 2-kärnig CPU, 7 GB RAM-minne och 14 GB SSD-diskutrymme. De här virtuella datorerna finns i samma geografiska område som din Azure DevOps-organisation.
Agenter som kör macOS-avbildningar etableras på Mac Pro–datorer med en processor på 3 kärnor, 14 GB RAM-minne och 14 GB SSD-diskutrymme. Dessa agenter körs alltid i USA oavsett var din Azure DevOps-organisation finns. Om datasuveränitet är viktigt för dig och om din organisation inte finns i USA bör du inte använda macOS-avbildningar. Läs mer.
Alla dessa datorer har minst 10 GB ledigt diskutrymme tillgängligt för dina pipelines att köra. Det här lediga utrymmet förbrukas när din pipeline checkar ut källkod, laddar ned paket, hämtar Docker-avbildningar eller genererar mellanliggande filer.
Viktigt!
Vi kan inte tillmötesgå förfrågningar om att öka diskutrymmet på Microsoft-värdbaserade agenter eller tillhandahålla kraftfullare maskiner. Om specifikationerna för Microsoft-värdbaserade agenter inte uppfyller dina behov bör du överväga självhostade agenter eller skaluppsättning agenter eller hanterade DevOps-pooler.
Nätverk
I vissa konfigurationer kan du behöva känna till intervallet med IP-adresser där agenter distribueras. Om du till exempel behöver bevilja värdbaserade agenter åtkomst via en brandvägg kan du vilja begränsa åtkomsten med IP-adress. Eftersom Azure DevOps använder det globala Azure-nätverket varierar IP-intervallen över tid. Microsoft publicerar en JSON-fil varje vecka med IP-intervall för Azure-datacenter, uppdelade efter region. Den här filen uppdateras varje vecka med nya planerade IP-intervall. Enbart den senaste versionen av filen finns tillgänglig för nedladdning. Om du behöver tidigare versioner måste du ladda ned och arkivera dem varje vecka när de blir tillgängliga. De nya IP-intervallen börjar gälla följande vecka. Vi rekommenderar att du återkommer ofta (minst en gång i veckan) för att se till att du har en uppdaterad lista. Om agentjobben börjar misslyckas är ett viktigt första felsökningssteg att se till att konfigurationen matchar den senaste listan med IP-adresser. IP-adressintervallen för de värdbaserade agenterna visas i veckofilen under AzureCloud.<region>
, till exempel AzureCloud.westus
för regionen USA, västra.
Dina värdbaserade agenter körs i samma Azure-geografi som din organisation. Varje geografi innehåller en eller flera regioner. Även om din agent kan fungera i samma region som din organisation, finns det ingen garanti för att den gör det. För att få en fullständig lista över möjliga IP-intervall för din agent måste du använda IP-intervallen från alla regioner som finns i ditt geografiska område. Om din organisation till exempel finns i USA geografi måste du använda IP-intervallen för alla regioner i det geografiska området.
Om du vill ta reda på ditt geografiska område går du till https://dev.azure.com/<your_organization>/_settings/organizationOverview
, hämtar din region och letar reda på det associerade geografiområdet från azure-geografitabellen. När du har identifierat ditt geografiska område använder du IP-intervallen från veckofilen för alla regioner i det geografiska området.
Viktigt!
Du kan inte använda privata anslutningar som ExpressRoute eller VPN för att ansluta Microsoft-värdbaserade agenter till företagets nätverk. Trafiken mellan Microsoft-värdade agenter och dina servrar går över ett offentligt nätverk.
För att identifiera möjliga IP-intervall för Microsoft-värdbaserade agenter
- Identifiera regionen för din organisation i Organisationsinställningar.
- Identifiera Azure Geography för din organisations region.
- Mappa namnen på regionerna i ditt geografiska område till det format som används i veckofilen, enligt formatet
AzureCloud.<region>
, till exempelAzureCloud.westus
. Du kan mappa namnen på regionerna från Azure Geography-listan till det format som används i veckofilen genom att granska regionnamnen som skickas till konstruktorn för de regioner som definierats i källkoden för klassen Region från Azure Management Libraries för .NET.Kommentar
Eftersom det inte finns något API i Azure Management Libraries för .NET för att visa en lista över regioner för ett geografiskt område, måste du ange dem manuellt enligt följande exempel.
- Hämta IP-adresserna för alla regioner i ditt geografiska område från veckofilen. Om din region är Brasilien, södra eller Europa, västra, måste du inkludera ytterligare IP-intervall baserat på din reservgeografi, enligt beskrivningen i följande kommentar.
Kommentar
På grund av kapacitetsbegränsningar kan organisationer i regionerna Södra Brasilien eller Västeuropa ibland se sina värd-agenter belägna utanför sitt förväntade geografiska område. I dessa fall, förutom att inkludera IP-intervall för alla regioner i ditt geografiska område enligt beskrivningen i föregående avsnitt, måste ytterligare IP-intervall inkluderas för regionerna i kapacitetsåterställningsområdet.
Om din organisation finns i regionen Sydbrasilien, är din kapacitetsreservgeografi USA.
Om din organisation finns i Västeuropa, är kapacitetsåterställningsgeografin Frankrike.
Våra Mac IP-intervall ingår inte i Azures IP-adresser ovan, eftersom de finns i GitHubs macOS-moln. IP-intervall kan hämtas med github-metadata-API:et med hjälp av anvisningarna här.
Exempel
I följande exempel hämtas ip-adressintervallen för den hostade agenten för en organisation i västra USA-regionen från veckofilen. Eftersom regionen västra USA finns i det geografiska området USA, inkluderas IP-adresserna för alla regioner i geografin i USA. I det här exemplet skrivs IP-adresserna till konsolen.
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);
}
}
}
}
}
Tjänsttaggar
Microsoft-hostade agenter kan inte listas via tjänsttaggar. Om du försöker ge värdbaserade agenter åtkomst till dina resurser måste du följa metoden för tillåtande av listning av IP-intervall.
Säkerhet
Agenter som är värdbaserade av Microsoft körs på den säkra Azure-plattformen. Du måste dock vara medveten om följande säkerhetsöverväganden.
- Även om agenter som är värdbaserade på Microsoft körs på det offentliga Azure-nätverket tilldelas de inte offentliga IP-adresser. Externa entiteter kan därför inte rikta in sig på Microsoft-värdbaserade agenter.
- Microsoft-hostade agenter körs på enskilda virtuella datorer, som installeras om efter varje körning. Varje agent är dedikerad till en enskild organisation och varje virtuell dator är endast värd för en enda agent.
- Det finns flera fördelar med att köra din pipeline på Microsoft-hostade agenter ur ett säkerhetsperspektiv. Om du kör otillförlitlig kod i din pipeline, till exempel bidrag från förgreningar, är det säkrare att köra pipelinen på agenter hos Microsoft än på lokalt installerade agenter som finns i företagets nätverk.
- När en pipeline behöver komma åt företagets resurser bakom en brandvägg måste du tillåta IP-adressintervallet för Azure-geografin. Detta kan öka din exponering eftersom IP-adressintervallet är ganska stort och eftersom datorer i det här intervallet även kan tillhöra andra kunder. Det bästa sättet att förhindra detta är att undvika behovet av att komma åt interna resurser. Information om hur du distribuerar artefakter till en uppsättning servrar finns i Kommunikation för att distribuera till målservrar.
- Värdbaserade bilder överensstämmer inte med CIS-härdningsriktlinjer. Om du vill använda CIS-härdade bilder måste du skapa självhanterade agenter, skaluppsättningsagenter eller hanterade DevOps-pooler.
Funktioner och begränsningar
Microsoft-värdbaserade agenter:
- Ha ovanstående programvara. Du kan också lägga till programvara under bygget eller lanseringen med hjälp av verktygsinstallationsuppgifter.
- Du får en nyskapad agent för varje jobb i pipelinen.
- Ange 10 GB lagringsutrymme för dina käll- och byggutdata.
- Ange en kostnadsfri nivå:
- Offentligt projekt: 10 kostnadsfria parallella jobb värdade av Microsoft som kan köras upp till 360 minuter (6 timmar) varje gång, utan någon total tidsgräns per månad. Kontakta oss för att öka dina gränser för den kostnadsfria nivån.
- Privat projekt: Ett kostnadsfritt parallellt jobb som kan köras i upp till 60 minuter varje gång, tills du har använt 1 800 minuter (30 timmar) per månad. Du kan betala för ytterligare kapacitet per parallellt jobb. Betalda parallella jobb tar bort den månatliga tidsgränsen och låter dig köra varje jobb i upp till 360 minuter (6 timmar). Köp parallella jobb med Microsoft som värd.
- När du skapar en ny Azure DevOps-organisation får du inte dessa kostnadsfria bidrag som standard. Om du vill begära det kostnadsfria bidraget för offentliga eller privata projekt skickar du en begäran.
- Kör på virtuella Microsoft Azure-datorer för generell användning Standard_DS2_v2.
- Kör som administratör i Windows och en lösenordslös sudo-användare i Linux.
- (Linux endast) Kör steg i en
cgroup
som erbjuder 6 GB fysiskt minne och 13 GB totalminne. - Använd VM-avbildningar som uppdateras regelbundet (var tredje vecka).
Agenter som är värdbaserade av Microsoft erbjuder inte:
- Möjligheten att fjärransluta.
- Möjligheten att lägga artefakter på en fildelning via UNC.
- Möjligheten att ansluta datorer direkt till företagets nätverk.
- Förmågan att skaffa större eller mer kraftfulla byggmaskiner.
- Möjligheten att förinstallera anpassad programvara. Du kan installera programvara under en pipelinekörning, till exempel via verktygsinstallationsuppgifter eller i ett skript.
- Potentiella prestandafördelar som du kan få genom att använda lokalt installerade agenter som kan starta och köra versioner snabbare. Läs mer
- Möjligheten att köra XAML-versioner.
- Möjligheten att återgå till en tidigare version av VM-avbildningen. Du använder alltid den senaste versionen.
Om Microsoft-värdbaserade agenter inte uppfyller dina behov kan du distribuera egna självhostade agenter eller använda skalsetagenter eller hanterade DevOps-pooler.
Vanliga frågor
Hur kan jag se vilken programvara som ingår i en avbildning?
Du kan se den installerade programvaran för varje värdbaserad agent genom att välja länken Inkluderad programvara i tabellen Programvara .
Kommentar
Som standard använder Windows-agenten den version av Git som paketeras med agentprogramvaran. Microsoft rekommenderar att du använder den version av Git som medföljer agenten, men du har flera alternativ för att åsidosätta det här standardbeteendet och använda den version av Git som agentdatorn har installerat i sökvägen.
- Ange en pipelinevariabel med namnet
System.PreferGitFromPath
true
i dina pipelines. - På lokalt installerade agenter kan du skapa en fil med namnet .env i agentrotkatalogen och lägga till en
System.PreferGitFromPath=true
rad i filen. Mer information finns i Hur gör jag för att ange olika miljövariabler för varje enskild agent?
Om du vill se vilken version av Git som används av en pipeline kan du titta på loggarna för ett checkout
steg i pipelinen, som du ser i följande exempel.
Syncing repository: PathFilter (Git)
Prepending Path environment variable with directory containing 'git.exe'.
git version
git version 2.26.2.windows.1
Hur väljer Microsoft vilken programvara och vilka versioner som ska användas i avbildningen?
Mer information om de versioner av programvara som ingår i avbildningarna finns i Riktlinjer för vad som är installerat.
När uppdateras bilderna?
Bilder uppdateras vanligtvis varje vecka. Du kan kontrollera statusmärkena som är i formatet 20200113.x
där den första delen anger det datum då avbildningen uppdaterades.
Vad kan jag göra om programvara jag behöver tas bort eller ersätts med en nyare version?
Du kan meddela oss genom att skapa ett ärende på GitHub genom att välja länkarna Inkluderad programvara i tabellen Använd en Microsoft-värdbaserad agent.
Du kan också använda en lokalt installerad agent som innehåller de exakta versioner av programvara som du behöver. Mer information finns i Lokalt installerade agenter.
Vad händer om jag behöver en större dator med mer processorkraft, minne eller diskutrymme?
Vi kan inte öka minnet, processorkraften eller diskutrymmet för Microsoft-hostade agenter, men du kan använda självhostade agenter eller skalsetagenter eller Hanterade DevOps-pooler enligt dina önskade specifikationer på maskiner.
Jag kan inte välja en Microsoft-värdbaserad agent och jag kan inte köa min kompilering eller utplacering. Vad ska jag göra?
Microsoft-hostade agenter är endast tillgängliga i Microsoft Azure Pipelines och inte i TFS eller Azure DevOps Server.
Som standardinställning har alla projektdeltagare i en organisation åtkomst till de Microsoft-värdbaserade agenterna. Men din organisationsadministratör kan begränsa Microsoft-hostade agenters åtkomst till vissa användare eller projekt. Be ägaren av din Azure DevOps-organisation att ge dig behörighet att använda en Microsoft-värdbaserad agent. Se säkerhet för agentpooler.
Mina pipelines som körs på agenter hostade av Microsoft tar längre tid att slutföra. Hur kan jag få dem att gå snabbare?
Om din pipeline har blivit långsammare nyligen, kontrollera vår statussida för eventuella avbrott. Vi kan ha problem med vår tjänst. Annars kan du granska eventuella ändringar som du har gjort i programkoden eller pipelinen. Lagringsplatsens storlek kan ha ökat under utcheckningen, du kanske laddar upp större artefakter eller så kanske du kör fler tester.
Om du håller på att sätta upp en pipeline och jämför prestanda för Microsoft-hanterade agenter med din lokala dator eller en lokalt installerad agent, bör du kontrollera specifikationerna för den maskinvara som vi använder för att köra dina jobb. Vi kan inte ge dig större eller kraftfulla datorer. Du kan överväga att använda lokalt installerade agenter eller skalningsuppsättningsagenter eller Hanterade DevOps-pooler om den här prestandan inte är acceptabel.
Jag behöver fler agenter. Vad ska jag göra?
Alla Azure DevOps-organisationer har flera kostnadsfria parallella jobb för projekt med öppen källkod och ett kostnadsfritt parallellt jobb och begränsade minuter varje månad för privata projekt. Kontakta supporten om du behöver ytterligare minuter eller parallella jobb för projektet med öppen källkod. Om du behöver ytterligare minuter eller parallella jobb för ditt privata projekt kan du köpa fler.
Min pipeline lyckas på en lokalt installerad agent, men misslyckas på Microsoft-värdbaserade agenter. Vad ska jag göra?
Din självhostade agent har förmodligen alla rätta beroenden installerade på den, medan samma beroenden, verktyg och programvara saknas på agenter med Microsoft-värd. Granska först noggrant listan över programvara som är installerad på Microsoft-värdbaserade agenter genom att följa länken till Inkluderad programvara i tabellen ovan. Jämför sedan det med programvaran som är installerad på din egen värdbaserade agent. I vissa fall kan Microsoft-värdbaserade agenter ha de verktyg som du behöver (till exempel Visual Studio), men alla nödvändiga valfria komponenter kanske inte har installerats. Om du hittar skillnader har du två alternativ:
Du kan skapa ett nytt ärende i förvaret, där vi spårar begäranden om ytterligare programvara. Att kontakta supporten kan inte hjälpa dig att konfigurera ny programvara på Microsoft-hostade agenter.
Du kan använda självhostade agenter eller agenter för skalset eller hanterade DevOps-pooler. Med dessa agenter har du fullständig kontroll över de bilder som används för att driva dina pipelines.
Mitt bygge lyckas på min lokala dator, men misslyckas på Microsoft-hostade agenter. Vad ska jag göra?
Din lokala dator har förmodligen alla nödvändiga beroenden installerade, medan samma beroenden, verktyg och programvara inte är installerade på agenter som drivs av Microsoft. Granska först noggrant listan över programvara som är installerad på Microsoft-värdbaserade agenter genom att följa länken till Inkluderad programvara i tabellen ovan. Jämför sedan med programvaran som är installerad på den lokala datorn. I vissa fall kan Microsoft-värdbaserade agenter ha de verktyg som du behöver (t.ex. Visual Studio), men alla nödvändiga valfria komponenter kanske inte har installerats. Om du hittar skillnader har du två alternativ:
Du kan skapa ett nytt ärende i lagringsplatsen, där vi hanterar förfrågningar om ytterligare programvara. Det här är ditt bästa val för att få ny programvara installerad. Att kontakta stöd hjälper dig inte att konfigurera ny programvara på agenter som är värdbaserade hos Microsoft.
Du kan använda egenhostade agenter eller skalbara set agenter eller hanterade DevOps-pooler. Med dessa agenter har du fullständig kontroll över de bilder som används för att driva dina pipelines.
Min pipeline misslyckas med felet "inget utrymme kvar på enheten".
Microsofts värdbaserade agenter har bara 10 GB tillgängligt diskutrymme för att köra jobbet. Det här utrymmet förbrukas när du checkar ut källkod, när du laddar ned paket, när du laddar ned Docker-avbildningar eller när du skapar mellanliggande filer. Tyvärr kan vi inte öka det lediga utrymmet på bilder värdbaserade av Microsoft. Du kan omstrukturera din pipeline så att den får plats i det här utrymmet. Du kan också överväga att använda självhostade agenter eller skaluppsättningsagenter eller Hanterade DevOps-pooler.
Min pipeline, som körs på agenter värdar av Microsoft, kräver åtkomst till servrar på vårt företagsnätverk. Hur får vi en lista över IP-adresser som ska tillåtas i brandväggen?
Se avsnittet Agent-IP-intervall
Vår pipeline som körs på Microsoft-värdbaserade agenter kan inte matcha namnet på en server i vårt företagsnätverk. Hur kan vi åtgärda det här?
Om du refererar till servern med dess DNS-namn kontrollerar du att servern är offentligt tillgänglig på Internet via dess DNS-namn. Om du refererar till servern med dess IP-adress kontrollerar du att IP-adressen är offentligt tillgänglig på Internet. I båda fallen kontrollerar du att alla brandväggar mellan agenterna och företagets nätverk har agentens IP-intervall tillåtna .
Jag får ett SAS IP-auktoriseringsfel från ett Azure Storage-konto
Om du får en SAS-felkod beror det troligtvis på att IP-adressintervallen från de Microsoft-värdbaserade agenterna inte är tillåtna på grund av dina regler för Azure Storage. Det finns några lösningar:
- Hantera IP-nätverksreglerna för ditt Azure Storage-konto och lägg till IP-adressintervallen för dina värdbaserade agenter.
- I pipelinen använder du Azure CLI för att uppdatera nätverksregeluppsättningen för ditt Azure Storage-konto precis innan du kommer åt lagringen och återställer sedan den tidigare regeluppsättningen.
- Använd självhostade agenter eller agenter i skalningsuppsättningar eller hanterade DevOps-resurspooler.
Hur gör jag för att välja versioner av verktyg manuellt på den värdbaserade macOS-agenten?
Xcode
Om du använder Xcode-aktiviteten som ingår i Azure Pipelines och TFS kan du välja en version av Xcode i aktivitetens egenskaper. Annars, för att manuellt ange vilken Xcode-version som ska användas på Hosted macOS-agentpoolen, kör den här kommandoraden som en del av ditt bygge innan din xcodebuild
bygguppgift och ersätt Xcode-versionsnumret 13.2 vid behov:
/bin/bash -c "sudo xcode-select -s /Applications/Xcode_13.2.app/Contents/Developer"
Xcode-versioner på hostad macOS agentpool finns här.
Mono
Om du vill välja en Mono-version som ska användas i den värdbaserade macOS-agentpoolen kör du det här skriptet i varje jobb i din version före monoversionsaktiviteten och anger symlinken med den monoversion som krävs:
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"