Door Microsoft gehoste agents

Azure DevOps Services

Door Microsoft gehoste agents zijn alleen beschikbaar voor Azure DevOps Services, die wordt gehost in de cloud. U kunt geen door Microsoft gehoste agents of de Azure Pipelines-agentgroep gebruiken met on-premises TFS of Azure DevOps Server. Met deze on-premises versies moet u zelf-hostende agents gebruiken.

Belangrijk

Selecteer een versie in de Azure DevOps Content Version-selector.

Selecteer de versie van dit artikel die overeenkomt met uw platform en versie. De versiekiezer staat boven de inhoudsopgave. Zoek uw Azure DevOps-platform en -versie op.

Als uw pijplijnen zich in Azure Pipelines bevinden, hebt u een handige optie om uw taken uit te voeren met behulp van een door Microsoft gehoste agent. Met door Microsoft gehoste agents worden onderhoud en upgrades voor u geregeld. U krijgt altijd de nieuwste versie van de VM-installatiekopieën die u in uw pijplijn opgeeft. Telkens wanneer u een pijplijn uitvoert, krijgt u een nieuwe virtuele machine voor elke taak in de pijplijn. De virtuele machine wordt verwijderd na één taak (wat betekent dat elke wijziging die een taak aanbrengt in het bestandssysteem van de virtuele machine, zoals het uitchecken van code, niet beschikbaar is voor de volgende taak). Door Microsoft gehoste agents kunnen taken rechtstreeks op de VIRTUELE machine of in een container uitvoeren.

Azure Pipelines biedt een vooraf gedefinieerde agentpool met de naam Azure Pipelines met door Microsoft gehoste agents.

Voor veel teams is dit de eenvoudigste manier om uw taken uit te voeren. U kunt het eerst proberen en zien of het werkt voor uw build of implementatie. Zo niet, dan kunt u schaalsetagents of een zelf-hostende agent gebruiken.

Tip

U kunt gratis een door Microsoft gehoste agent proberen.

Software

De Azure Pipelines-agentgroep biedt verschillende installatiekopieën van virtuele machines waaruit u kunt kiezen, waaronder een breed scala aan hulpprogramma's en software.

Afbeelding Klassieke editoragentspecificatie LABEL VOOR YAML-VM-installatiekopieën Opgenomen software
Windows Server 2022 met Visual Studio 2022 windows-2022 windows-latest OF windows-2022 Koppeling
Windows Server 2019 met Visual Studio 2019 windows-2019 windows-2019 Koppeling
Ubuntu 22.04 ubuntu-22.04 ubuntu-latest OF ubuntu-22.04 Koppeling
Ubuntu 20.04 ubuntu-20.04 ubuntu-20.04 Koppeling
macOS 13 Ventura macOS-13 macOS-13 Koppeling
macOS 12 macOS-12 macOS-latest OF macOS-12 Koppeling
macOS 11 Big Sur (afgeschaft) macOS-11 macOS-11 Koppeling

De standaardagentinstallatiekopieën voor klassieke build-pijplijnen zijn windows-2019 en de standaardagentinstallatiekopieën voor YAML-buildpijplijnen zijn ubuntu-latest. Zie Een pool aanwijzen in uw pijplijn voor meer informatie.

U kunt de geïnstalleerde software voor elke gehoste agent zien door de koppeling Opgenomen software in de tabel te kiezen. Wanneer u macOS-installatiekopieën gebruikt, kunt u handmatig kiezen uit hulpprogrammaversies. Meer informatie.

Recente updates

Klanten worden aangemoedigd om te migreren naar nieuwere versies of een zelf-hostende agent.

Zie Oudere installatiekopieën verwijderen in gehoste pools van Azure Pipelines voor meer informatie en instructies over het bijwerken van uw pijplijnen die gebruikmaken van deze installatiekopieën.

Notitie

macOS-capaciteit is momenteel beperkt. In tegenstelling tot Linux- en Windows-installatiekopieën, waarbij onze capaciteit wordt beperkt door de volledige capaciteit van Azure, wordt macOS-capaciteit beperkt door de hoeveelheid hardware die we beschikbaar hebben. Hoewel we in het voorjaar van 2024 extra capaciteit beschikbaar willen maken, kunnen sommige taken te maken krijgen met vertraagde uitvoering. Waar mogelijk, bijvoorbeeld voor taken die geen Apple-ecosysteem-apps maken, moeten klanten Linux- of Windows-installatiekopieën kiezen.

Notitie

De gehoste Azure Pipelines-pool vervangt de vorige gehoste pools met namen die zijn toegewezen aan de bijbehorende installatiekopieën. Alle taken die u in de vorige gehoste pools had, worden automatisch omgeleid naar de juiste installatiekopie in de nieuwe gehoste Azure Pipelines-pool. In sommige gevallen ziet u mogelijk nog steeds de oude poolnamen, maar achter de schermen worden de gehoste taken uitgevoerd met behulp van de Azure Pipelines-pool. Zie de releaseopmerkingen voor één gehoste pool van 1 juli 2019 - Sprint 154 voor meer informatie over deze update.

Belangrijk

Als u aanvullende software wilt aanvragen die moet worden geïnstalleerd op door Microsoft gehoste agents, maakt u geen feedbackaanvraag voor dit document of opent u een ondersteuningsticket. Open in plaats daarvan een probleem in onze opslagplaats, waar we de scripts beheren om verschillende installatiekopieën te genereren.

Pijplijnen identificeren met behulp van een afgeschafte gehoste installatiekopie

Als u pijplijnen wilt identificeren die gebruikmaken van een afgeschafte installatiekopieën, bladert u naar de volgende locatie in uw organisatie: https://dev.azure.com/{organization}/{project}/_settings/agentqueuesen filtert u op de naam van de installatiekopieën die u wilt controleren. In het volgende voorbeeld wordt de vs2017-win2016 afbeelding gecontroleerd.

Schermopname van het filteren van pijplijnen op afbeeldingsnaam.

U kunt ook een query uitvoeren op de taakgeschiedenis voor afgeschafte afbeeldingen in projecten met behulp van het script dat zich hier bevindt, zoals wordt weergegeven in het volgende voorbeeld.

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

Een door Microsoft gehoste agent gebruiken

Als u in YAML-pijplijnen geen pool opgeeft, worden pijplijnen standaard ingesteld op de Azure Pipelines-agentgroep. U hoeft alleen op te geven welke installatiekopieën van virtuele machines u wilt gebruiken.

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

Notitie

De specificatie van een pool kan worden uitgevoerd op meerdere niveaus in een YAML-bestand. Als u merkt dat uw pijplijn niet wordt uitgevoerd op de verwachte installatiekopieën, controleert u of u de poolspecificatie controleert op het niveau van de pijplijn, fase en taak.

Vermijd in code vastgelegde verwijzingen

Wanneer u een door Microsoft gehoste agent gebruikt, gebruikt u altijd variabelen om te verwijzen naar de buildomgeving en agentbronnen. Codeer bijvoorbeeld niet de stationsletter of map die de opslagplaats bevat. De exacte indeling van de gehoste agents kan zonder waarschuwing worden gewijzigd.

Hardware

Door Microsoft gehoste agents met Windows- en Linux-installatiekopieën worden ingericht op virtuele machines voor algemeen gebruik van Azure met een CPU van 2 kernen, 7 GB RAM en 14 GB AAN SSD-schijfruimte. Deze virtuele machines bevinden zich op dezelfde locatie als uw Azure DevOps-organisatie.

Agents met macOS-installatiekopieën worden ingericht op Mac-professionals met een CPU met 3 kernen, 14 GB RAM en 14 GB SSD-schijfruimte. Deze agents worden altijd uitgevoerd in de VS, ongeacht de locatie van uw Azure DevOps-organisatie. Als gegevenssoevereine belangrijk voor u is en als uw organisatie zich niet in de VS bevindt, moet u geen macOS-installatiekopieën gebruiken. Meer informatie.

Al deze machines hebben ten minste 10 GB vrije schijfruimte die beschikbaar is voor de uitvoering van uw pijplijnen. Deze vrije ruimte wordt gebruikt wanneer uw pijplijn broncode uitcheckt, pakketten downloadt, docker-installatiekopieën ophaalt of tussenliggende bestanden genereert.

Belangrijk

Er kunnen geen aanvragen worden uitgevoerd om de schijfruimte op door Microsoft gehoste agents te vergroten of om krachtigere machines in te richten. Als de specificaties van door Microsoft gehoste agents niet aan uw behoeften voldoen, moet u zelf-hostende agents of schaalsetagents overwegen.

Netwerken

In sommige instellingen moet u mogelijk het bereik van IP-adressen weten waar agents worden geïmplementeerd. Als u bijvoorbeeld de gehoste agents toegang wilt verlenen via een firewall, kunt u die toegang beperken via ip-adres. Omdat Azure DevOps gebruikmaakt van het globale Azure-netwerk, variëren IP-bereiken in de loop van de tijd. Microsoft publiceert een wekelijks JSON-bestand met IP-bereiken voor Azure-datacenters, onderverdeeld per regio. Dit bestand wordt wekelijks bijgewerkt met nieuwe geplande IP-bereiken. Alleen de nieuwste versie van het bestand is beschikbaar om te downloaden. Als u eerdere versies nodig hebt, moet u ze elke week downloaden en archiveren zodra ze beschikbaar komen. De nieuwe IP-bereiken worden de volgende week van kracht. We raden u aan regelmatig (minstens één keer per week) te controleren om ervoor te zorgen dat u een up-to-date lijst houdt. Als agenttaken mislukken, moet u ervoor zorgen dat uw configuratie overeenkomt met de meest recente lijst met IP-adressen. De IP-adresbereiken voor de gehoste agents worden vermeld in het wekelijkse bestand onder AzureCloud.<region>, zoals AzureCloud.westus voor de regio VS - west.

Uw gehoste agents worden uitgevoerd in dezelfde Azure-geografie als uw organisatie. Elke geografie bevat een of meer regio's. Hoewel uw agent mogelijk wordt uitgevoerd in dezelfde regio als uw organisatie, is dit niet gegarandeerd. Als u de volledige lijst met mogelijke IP-bereiken voor uw agent wilt verkrijgen, moet u de IP-bereiken van alle regio's in uw geografie gebruiken. Als uw organisatie zich bijvoorbeeld in de Verenigde Staten geografie bevindt, moet u de IP-bereiken gebruiken voor alle regio's in die geografie.

Als u uw geografie wilt bepalen, gaat u naar https://dev.azure.com/<your_organization>/_settings/organizationOverview, haalt u uw regio op en zoekt u de bijbehorende geografie uit de tabel Azure-geografie . Zodra u uw geografie hebt geïdentificeerd, gebruikt u de IP-bereiken van het wekelijkse bestand voor alle regio's in die geografie.

Belangrijk

U kunt geen privéverbindingen zoals ExpressRoute of VPN gebruiken om door Microsoft gehoste agents te verbinden met uw bedrijfsnetwerk. Het verkeer tussen door Microsoft gehoste agents en uw servers verloopt via een openbaar netwerk.

De mogelijke IP-bereiken voor door Microsoft gehoste agents identificeren

  1. Identificeer de regio voor uw organisatie in organisatie-instellingen.
  2. Identificeer de Azure-geografie voor de regio van uw organisatie.
  3. Wijs de namen van de regio's in uw geografie toe aan de indeling die in het wekelijkse bestand wordt gebruikt, volgens de indeling , AzureCloud.<region>zoals AzureCloud.westus. U kunt de namen van de regio's uit de lijst Azure Geography toewijzen aan de indeling die in het wekelijkse bestand wordt gebruikt door de regionamen te controleren die zijn doorgegeven aan de constructor van de regio's die zijn gedefinieerd in de broncode voor de klasse Regio, vanuit de Azure-beheerbibliotheken voor .NET.

    Notitie

    Omdat er geen API in de Azure Management-bibliotheken voor .NET is om de regio's voor een geografie weer te geven, moet u deze handmatig weergeven, zoals wordt weergegeven in het volgende voorbeeld.

  4. Haal de IP-adressen voor alle regio's in uw geografie op uit het wekelijkse bestand. Als uw regio Brazilië - zuid- of west-Europa is, moet u extra IP-bereiken opnemen op basis van uw terugvalgeografie, zoals beschreven in de volgende opmerking.

Notitie

Vanwege capaciteitsbeperkingen kunnen sommige organisaties in de regio's Brazilië - zuid of West-Europa af en toe hun gehoste agents buiten hun verwachte geografie zien. In deze gevallen moeten naast het opnemen van de IP-bereiken voor alle regio's in uw geografie, zoals beschreven in de vorige sectie, extra IP-bereiken worden opgenomen voor de regio's in de geografie van de capaciteitsval.

Als uw organisatie zich in de regio Brazilië - zuid bevindt, is de geografie van uw capaciteit Verenigde Staten.

Als uw organisatie zich in de regio Europa - west bevindt, is de capaciteitsvalgeografie Frankrijk.

Onze Ip-adresbereiken voor Mac zijn niet opgenomen in de bovenstaande Azure-IP-adressen, omdat ze worden gehost in de macOS-cloud van GitHub. IP-bereiken kunnen worden opgehaald met behulp van de GitHub-metagegevens-API met behulp van de instructies die hier worden gegeven.

Opmerking

In het volgende voorbeeld worden de IP-adresbereiken van de gehoste agent voor een organisatie in de regio VS - west opgehaald uit het wekelijkse bestand. Omdat de regio VS - west zich in de Verenigde Staten geografie bevindt, worden de IP-adressen voor alle regio's in de Verenigde Staten geografie opgenomen. In dit voorbeeld worden de IP-adressen naar de console geschreven.

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);
                }
            }
        }
    }
}

Servicetags

Door Microsoft gehoste agents kunnen niet worden vermeld door servicetags. Als u gehoste agents toegang probeert te verlenen tot uw resources, moet u de acceptatiemethode voor het IP-bereik volgen.

Beveiliging

Door Microsoft gehoste agents worden uitgevoerd op een beveiligd Azure-platform. U moet echter rekening houden met de volgende beveiligingsoverwegingen.

  • Hoewel door Microsoft gehoste agents worden uitgevoerd op een openbaar Azure-netwerk, worden ze geen openbare IP-adressen toegewezen. Externe entiteiten kunnen zich dus niet richten op door Microsoft gehoste agents.
  • Door Microsoft gehoste agents worden uitgevoerd in afzonderlijke VM's, die na elke uitvoering opnieuw worden geïnstalleerd. Elke agent is toegewezen aan één organisatie en elke VIRTUELE machine host slechts één agent.
  • Er zijn verschillende voordelen voor het uitvoeren van uw pijplijn op door Microsoft gehoste agents, vanuit beveiligingsperspectief. Als u niet-vertrouwde code uitvoert in uw pijplijn, zoals bijdragen van forks, is het veiliger om de pijplijn uit te voeren op door Microsoft gehoste agents dan op zelf-hostende agents die zich in uw bedrijfsnetwerk bevinden.
  • Wanneer een pijplijn toegang moet hebben tot uw bedrijfsbronnen achter een firewall, moet u het IP-adresbereik voor de Azure-geografie toestaan. Dit kan uw blootstelling verhogen omdat het bereik van IP-adressen vrij groot is en omdat machines in dit bereik ook tot andere klanten kunnen behoren. De beste manier om dit te voorkomen, is om te voorkomen dat er toegang moet worden tot interne resources. Zie Communicatie voor implementatie op doelservers voor informatie over het implementeren van artefacten op een set servers.
  • Gehoste installatiekopieën voldoen niet aan CIS-beveiligingsbenchmarks. Als u CIS-harde installatiekopieën wilt gebruiken, moet u zelf-hostende agents of schaalsetagents maken.

Mogelijkheden en beperkingen

Door Microsoft gehoste agents:

  • De bovenstaande software hebben. U kunt ook software toevoegen tijdens uw build of release met behulp van installatietaken voor hulpprogramma's.
    • U krijgt een nieuw afbeeldingsagent voor elke taak in uw pijplijn.
  • Geef 10 GB opslagruimte op voor uw bron- en build-uitvoer.
  • Geef een gratis laag op:
    • Openbaar project: 10 gratis door Microsoft gehoste parallelle taken die elke keer maximaal 360 minuten (6 uur) kunnen worden uitgevoerd, zonder algemene tijdslimiet per maand. Neem contact met ons op om uw limieten voor gratis lagen te verhogen.
    • Privéproject: Een gratis parallelle taak die elke keer maximaal 60 minuten kan worden uitgevoerd, totdat u 1800 minuten (30 uur) per maand hebt gebruikt. U kunt betalen voor extra capaciteit per parallelle taak. Betaalde parallelle taken verwijderen de maandelijkse tijdslimiet en stellen u in staat om elke taak maximaal 360 minuten (6 uur) uit te voeren. Koop door Microsoft gehoste parallelle taken.
    • Wanneer u een nieuwe Azure DevOps-organisatie maakt, krijgt u deze gratis subsidies niet standaard. Als u de gratis subsidie voor openbare of particuliere projecten wilt aanvragen, dient u een aanvraag in.
  • Uitvoeren op virtuele machines voor algemeen gebruik van Microsoft Azure Standard_DS2_v2.
  • Als beheerder uitvoeren in Windows en een sudo-gebruiker zonder wachtwoord in Linux.
  • (alleen Linux) Voer stappen uit in een cgroup met 6 GB fysiek geheugen en 13 GB aan totaal geheugen.
  • Gebruik VM-installatiekopieën die regelmatig worden bijgewerkt (elke 3 weken).

Door Microsoft gehoste agents bieden geen aanbieding:

  • De mogelijkheid om extern verbinding te maken.
  • De mogelijkheid om artefacten naar een UNC-bestandsshare te verwijderen.
  • De mogelijkheid om machines rechtstreeks aan uw bedrijfsnetwerk toe te voegen.
  • De mogelijkheid om grotere of krachtigere buildmachines te krijgen.
  • De mogelijkheid om aangepaste software vooraf te laden. U kunt software installeren tijdens een pijplijnuitvoering, zoals via installatietaken van het hulpprogramma of in een script.
  • Mogelijke prestatievoordelen die u kunt krijgen door zelf-hostende agents te gebruiken die builds mogelijk sneller starten en uitvoeren. Meer informatie
  • De mogelijkheid om XAML-builds uit te voeren.
  • De mogelijkheid om terug te keren naar een eerdere versie van de VM-installatiekopieën. U gebruikt altijd de nieuwste versie.

Als door Microsoft gehoste agents niet aan uw behoeften voldoen, kunt u uw eigen zelf-hostende agents implementeren of schaalsetagents gebruiken.

Veelgestelde vragen

Hoe kan ik zien welke software is opgenomen in een installatiekopieën?

U kunt de geïnstalleerde software voor elke gehoste agent zien door de koppeling Opgenomen software in de tabel Software te kiezen.

Notitie

De Windows-agent gebruikt standaard de versie van Git die is gebundeld met de agentsoftware. Microsoft raadt aan om de versie van Git te gebruiken die is gebundeld met de agent, maar u hebt verschillende opties om dit standaardgedrag te overschrijven en de versie van Git te gebruiken die de agentmachine in het pad heeft geïnstalleerd.

Als u de versie van Git wilt zien die door een pijplijn wordt gebruikt, kunt u de logboeken voor een checkout stap in uw pijplijn bekijken, zoals wordt weergegeven in het volgende voorbeeld.

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

Hoe kiest Microsoft de software en versies die op de installatiekopieën moeten worden geplaatst?

Meer informatie over de versies van software die op de installatiekopieën zijn opgenomen, vindt u in Richtlijnen voor wat er is geïnstalleerd.

Wanneer worden de afbeeldingen bijgewerkt?

Afbeeldingen worden doorgaans wekelijks bijgewerkt. U kunt de statusbadges controleren in de indeling 20200113.x waarin het eerste deel aangeeft op welke datum de afbeelding is bijgewerkt.

Wat kan ik doen als de software die ik nodig heb, wordt verwijderd of vervangen door een nieuwere versie?

U kunt ons dit laten weten door een GitHub-probleem op te stellen door de koppelingen opgenomen software te kiezen in de tabel Een door Microsoft gehoste agent gebruiken.

U kunt ook een zelf-hostende agent gebruiken die de exacte versies van software bevat die u nodig hebt. Zie Zelf-hostende agents voor meer informatie.

Wat gebeurt er als ik een grotere machine nodig heb met meer verwerkingskracht, geheugen of schijfruimte?

We kunnen het geheugen, de verwerkingskracht of schijfruimte voor door Microsoft gehoste agents niet vergroten, maar u kunt zelf-hostende agents of schaalsetagents gebruiken die worden gehost op computers met de gewenste specificaties.

Ik kan geen door Microsoft gehoste agent selecteren en ik kan mijn build of implementatie niet in de wachtrij plaatsen. Wat moet ik doen?

Door Microsoft gehoste agents zijn alleen beschikbaar in Azure Pipelines en niet in TFS of Azure DevOps Server.

Standaard hebben alle projectbijdragers in een organisatie toegang tot de door Microsoft gehoste agents. Maar uw organisatiebeheerder kan de toegang van door Microsoft gehoste agents beperken tot het selecteren van gebruikers of projecten. Vraag de eigenaar van uw Azure DevOps-organisatie u toestemming te geven om een door Microsoft gehoste agent te gebruiken. Bekijk de beveiliging van de agentgroep.

De uitvoering van mijn pijplijnen op door Microsoft gehoste agents neemt meer tijd in beslag om te voltooien. Hoe kan ik ze versnellen?

Als uw pijplijn onlangs langzamer is geworden, bekijk dan onze statuspagina voor eventuele storingen. Er kunnen problemen zijn met onze service. Of bekijk eventuele wijzigingen die u hebt aangebracht in de toepassingscode of pijplijn. De grootte van de opslagplaats tijdens het uitchecken is mogelijk toegenomen, u uploadt mogelijk grotere artefacten of u voert meer tests uit.

Als u alleen een pijplijn instelt en de prestaties van door Microsoft gehoste agents vergelijkt met uw lokale computer of een zelf-hostende agent, let dan op de specificaties van de hardware die we gebruiken om uw taken uit te voeren. We zijn niet in staat om u te voorzien van grotere of krachtige computers. U kunt overwegen om zelf-hostende agents of schaalsetagents te gebruiken als deze prestaties niet acceptabel zijn.

Ik heb meer agenten nodig. Wat kan ik doen?

Alle Azure DevOps-organisaties worden voorzien van verschillende gratis parallelle taken voor opensource-projecten, en één gratis parallelle taak en een beperkt aantal minuten per maand voor privéprojecten. Als u extra minuten of parallelle taken voor uw opensource-project nodig hebt, neemt u contact op met de ondersteuning. Als u extra minuten of parallelle taken voor uw privéproject nodig hebt, kunt u meer kopen.

Mijn pijplijn slaagt op zelf-hostende agent, maar mislukt op door Microsoft gehoste agents. Wat moet ik doen?

Op uw zelf-hostende agent zijn waarschijnlijk alle juiste afhankelijkheden geïnstalleerd, terwijl dezelfde afhankelijkheden, hulpprogramma's en software niet zijn geïnstalleerd op door Microsoft gehoste agents. Bekijk eerst zorgvuldig de lijst met software die is geïnstalleerd op door Microsoft gehoste agents door de koppeling naar opgenomen software in de bovenstaande tabel te volgen. Vergelijk dat vervolgens met de software die is geïnstalleerd op uw zelf-hostende agent. In sommige gevallen hebben door Microsoft gehoste agents mogelijk de hulpprogramma's die u nodig hebt (bijvoorbeeld Visual Studio), maar alle benodigde optionele onderdelen zijn mogelijk niet geïnstalleerd. Als u verschillen vindt, hebt u twee opties:

  • U kunt een nieuw probleem maken in de opslagplaats, waar aanvragen voor aanvullende software worden bijgehouden. Contact opnemen met ondersteuning kan u niet helpen bij het instellen van nieuwe software op door Microsoft gehoste agents.

  • U kunt zelf-hostende agents of schaalsetagents gebruiken. Met deze agents hebt u volledig controle over de installatiekopieën die worden gebruikt om uw pijplijnen uit te voeren.

Mijn build slaagt op mijn lokale computer, maar mislukt op door Microsoft gehoste agents. Wat moet ik doen?

Op uw lokale computer zijn waarschijnlijk alle juiste afhankelijkheden geïnstalleerd, terwijl dezelfde afhankelijkheden, hulpprogramma's en software niet zijn geïnstalleerd op door Microsoft gehoste agents. Bekijk eerst zorgvuldig de lijst met software die is geïnstalleerd op door Microsoft gehoste agents door de koppeling naar opgenomen software in de bovenstaande tabel te volgen. Vergelijk dat vervolgens met de software die op uw lokale computer is geïnstalleerd. In sommige gevallen hebben door Microsoft gehoste agents mogelijk de hulpprogramma's die u nodig hebt (bijvoorbeeld Visual Studio), maar alle benodigde optionele onderdelen zijn mogelijk niet geïnstalleerd. Als u verschillen vindt, hebt u twee opties:

  • U kunt een nieuw probleem maken in de opslagplaats, waar aanvragen voor aanvullende software worden bijgehouden. Dit is uw beste keuze voor het installeren van nieuwe software. Contact opnemen met ondersteuning helpt u niet bij het instellen van nieuwe software op door Microsoft gehoste agents.

  • U kunt zelf-hostende agents of schaalsetagents gebruiken. Met deze agents hebt u volledig controle over de installatiekopieën die worden gebruikt om uw pijplijnen uit te voeren.

Mijn pijplijn mislukt met de fout: 'Geen ruimte meer over op apparaat'.

Door Microsoft gehoste agents hebben slechts 10 GB schijfruimte beschikbaar voor het uitvoeren van uw taak. Deze ruimte wordt gebruikt wanneer u broncode uitcheckt, wanneer u pakketten downloadt, wanneer u Docker-installatiekopieën downloadt of wanneer u tussenliggende bestanden produceert. Helaas kunnen we de beschikbare vrije ruimte op door Microsoft gehoste installatiekopieën niet vergroten. U kunt uw pijplijn zo herstructureren dat deze in deze ruimte past. U kunt ook overwegen om zelf-hostende agents of schaalsetagents te gebruiken.

Mijn pijplijn die wordt uitgevoerd op door Microsoft gehoste agents, vereist toegang tot servers in ons bedrijfsnetwerk. Hoe krijgen we een lijst met IP-adressen die in onze firewall kunnen worden toegestaan?

Zie de sectie IP-bereiken van agent

De pijplijn die wordt uitgevoerd op door Microsoft gehoste agents, kan de naam van een server in ons bedrijfsnetwerk niet oplossen. Hoe kunnen we dit oplossen?

Als u naar de server verwijst met de DNS-naam, moet u ervoor zorgen dat uw server openbaar toegankelijk is op internet via de DNS-naam. Als u naar uw server verwijst via het IP-adres, moet u ervoor zorgen dat het IP-adres openbaar toegankelijk is op internet. Zorg er in beide gevallen voor dat elke firewall tussen de agents en uw bedrijfsnetwerk de IP-adresbereiken van de agent heeft toegestaan.

Ik krijg een SAS IP-autorisatiefout van een Azure Storage-account

Als u een SAS-foutcode krijgt, is dit waarschijnlijk omdat het IP-adres van de door Microsoft gehoste agents niet is toegestaan vanwege uw Azure Storage-regels. Er zijn enkele tijdelijke oplossingen:

  1. Beheer de IP-netwerkregels voor uw Azure Storage-account en voeg de IP-adresbereiken voor uw gehoste agents toe.
  2. Gebruik Azure CLI in uw pijplijn om de netwerkregelset voor uw Azure Storage-account bij te werken voordat u toegang krijgt tot de opslag en herstel vervolgens de vorige regelset.
  3. Gebruik zelf-hostende agents of schaalsetagents.

Hoe kan ik handmatig versies van hulpprogramma's selecteren op de gehoste macOS-agent?

Xamarin

Gehoste macOS-agent slaat Xamarin SDK-versies en de bijbehorende Mono-versies op als een set symlinks naar Xamarin SDK-locaties die beschikbaar zijn via één bundel symlink.

Als u handmatig een Xamarin SDK-versie wilt selecteren die u wilt gebruiken op de gehoste macOS-agent , voert u de volgende bash-opdracht uit voordat uw Xamarin-buildtaak deel uitmaakt van uw build, waarbij u de symlink naar Xamarin-versiesbundel opgeeft die u nodig hebt.

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

De lijst met alle beschikbare Xamarin SDK-versies en symlinks vindt u in de documentatie over agents:

Met deze opdracht selecteert u niet de Mono-versie buiten de Xamarin SDK. Als u handmatig een Mono-versie wilt selecteren, raadpleegt u de onderstaande instructies.

Als u een niet-standaardversie van Xcode gebruikt voor het bouwen van uw Xamarin.iOS- of Xamarin.Mac-apps, moet u deze opdrachtregel ook uitvoeren:

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

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

Xcode-versies in de gehoste macOS-agentgroep vindt u hier voor de macos-11 agent en hier voor de macos-12 agent.

Xcode

Als u de Xcode-taak gebruikt die is opgenomen in Azure Pipelines en TFS, kunt u een versie van Xcode selecteren in de eigenschappen van die taak. Als u anders handmatig de Xcode-versie wilt instellen voor gebruik in de gehoste macOS-agentgroep , xcodebuild voert u deze opdrachtregel uit als onderdeel van uw build, waarbij u het Xcode-versienummer 13.2 indien nodig vervangt:

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

Xcode-versies in de gehoste macOS-agentgroep vindt u hier voor de macos-11 agent en hier voor de macos-12 agent.

Deze opdracht werkt niet voor Xamarin-apps. Als u handmatig een Xcode-versie wilt selecteren voor het bouwen van Xamarin-apps, raadpleegt u de bovenstaande instructies.

Mono

Als u handmatig een Mono-versie wilt selecteren die moet worden gebruikt voor de gehoste macOS-agentgroep , voert u dit script uit in elke taak van uw build voordat uw Mono-buildtaak wordt opgegeven, waarbij u de symlink met de vereiste Mono-versie opgeeft (lijst met alle beschikbare symlinks vindt u in de bovenstaande sectie Xamarin):

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"