Delen via


Zelf-hostende Linux-agents

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Dit artikel bevat richtlijnen voor het gebruik van de 3.x-agentsoftware met Azure DevOps Services en de huidige versies van Azure DevOps Server. Zie Biedt Azure DevOps Server ondersteuning voor de 3.x-agentvoor een lijst met Azure DevOps Server-versies die ondersteuning bieden voor de 3.x-agent.

Als u uw taken wilt uitvoeren, hebt u ten minste één agent nodig. Een Linux-agent kan verschillende soorten apps bouwen en implementeren, waaronder Java- en Android-apps. Zie Vereisten controleren voor een lijst met ondersteunde Linux-distributies.

Opmerking

In dit artikel wordt beschreven hoe u een zelf-hostende agentconfigureert. Als u Azure DevOps Services gebruikt en een door Microsoft gehoste agent aan uw behoeften voldoet, kunt u het instellen van een zelf-hostende Linux-agent overslaan.

Meer informatie over agents

Als u al weet wat een agent is en hoe het werkt, kunt u meteen naar de volgende secties gaan. Maar als u meer achtergrondinformatie wilt over wat ze doen en hoe ze werken, raadpleegt u Azure Pipelines-agents.

Controleer de vereisten

De agent is gebaseerd op .NET 6. U kunt deze agent uitvoeren op verschillende Linux-distributies. We ondersteunen de volgende subset van ondersteunde .NET 6-distributies:

  • Ondersteunde distributies
    • x64
      • Debian 10+
      • Fedora 36+
      • openSUSE 15+
      • Red Hat Enterprise Linux 7+
        • Er is geen afzonderlijk pakket meer vereist
      • SUSE Enterprise Linux 12 SP2 of hoger
      • Ubuntu 22.04, 20.04, 18.04, 16.04
      • Azure Linux 2.0
      • Oracle Linux 7 en hoger
    • ARM64
      • Debian 10+
      • Ubuntu 22.04, 20.04, 18.04
    • Alpine x64
  • Git : ongeacht uw platform moet u Git 2.9.0 of hoger installeren. We raden u ten zeerste aan de nieuwste versie van Git te installeren.
  • .NET-: de agentsoftware wordt uitgevoerd op .NET 6, maar installeert een eigen versie van .NET, zodat er geen .NET-vereisten zijn.
  • Subversion- Als u bouwt vanuit een subversion-opslagplaats, moet u de Subversion-client installeren op de computer.
  • TFVC- : als u bouwt vanuit een TFVC-opslagplaats, raadpleegt u TFVC-vereisten.

Opmerking

Het installatieprogramma van de agent weet hoe u kunt controleren op andere afhankelijkheden. U kunt deze afhankelijkheden installeren op ondersteunde Linux-platforms door deze uit te voeren ./bin/installdependencies.sh in de agentmap.

Houd er rekening mee dat sommige van deze afhankelijkheden die door .NET zijn vereist, worden opgehaald van sites van derden, zoals packages.efficios.com. Controleer het installdependencies.sh script en zorg ervoor dat eventuele sites van derden toegankelijk zijn vanaf uw Linux-computer voordat u het script uitvoert.

Zorg er ook voor dat alle vereiste opslagplaatsen zijn verbonden met de relevante pakketbeheerder die wordt gebruikt in installdependencies.sh (zoals apt of zypper).

Voor problemen met de installatie van afhankelijkheden (zoals 'afhankelijkheid is niet gevonden in opslagplaats' of 'probleem bij het ophalen van het indexbestand van de opslagplaats') kunt u contact opnemen met de distributie-eigenaar voor verdere ondersteuning.

U moet agentinstallatie de eerste keer handmatig uitvoeren. Nadat u weet hoe agents werken of als u het instellen van veel agents wilt automatiseren, kunt u overwegen om configuratie zonder toezicht te gebruiken.

Machtigingen voorbereiden

Informatiebeveiliging voor zelfgehoste agents

De gebruiker die de agent configureert, heeft beheerdersmachtigingen voor de pool nodig, maar de gebruiker die de agent uitvoert, doet dit niet.

De mappen die door de agent worden beheerd, moeten worden beperkt tot zo weinig mogelijk gebruikers omdat ze geheimen bevatten die kunnen worden ontsleuteld of geëxfileerd.

De Azure Pipelines-agent is een softwareproduct dat is ontworpen om code uit te voeren die wordt gedownload uit externe bronnen. Het kan inherent een doelwit zijn voor RCE-aanvallen (Remote Code Execution).

Daarom is het belangrijk om rekening te houden met het bedreigingsmodel rondom elk afzonderlijk gebruik van Pijplijnagents om werk uit te voeren en te bepalen wat de minimale machtigingen zijn die kunnen worden verleend aan de gebruiker die de agent uitvoert, op de computer waarop de agent wordt uitgevoerd, aan de gebruikers die schrijftoegang hebben tot de pijplijndefinitie, de Git-opslagplaatsen waar de yaml is opgeslagen, of de groep gebruikers die de toegang tot de pool beheren voor nieuwe pijplijnen.

Het is een beste praktijk om de identiteit waarop de agent draait, verschillend te maken van de identiteit met machtigingen om de agent aan de pool te koppelen. De gebruiker die de referenties (en andere agentgerelateerde bestanden) genereert, verschilt van de gebruiker die ze moet lezen. Daarom is het veiliger om zorgvuldig te overwegen toegang te verlenen tot de agentcomputer zelf en de agentmappen die gevoelige bestanden bevatten, zoals logboeken en artefacten.

Het is logisch om alleen toegang te verlenen tot de agentmap voor DevOps-beheerders en de gebruikersidentiteit die het agentproces uitvoert. Beheerders moeten het bestandssysteem mogelijk onderzoeken om inzicht te krijgen in buildfouten of logboekbestanden ophalen om Azure DevOps-fouten te kunnen rapporteren.

Bepalen welke gebruiker u gaat gebruiken

Als eenmalige stap moet u de agent registreren. Iemand met toestemming om de agentwachtrij te beheren, moet deze stappen uitvoeren. De medewerker gebruikt de inloggegevens van deze persoon niet bij de dagelijkse werkzaamheden, maar ze zijn wel nodig om de registratie te voltooien. Meer informatie over hoe agents communiceren.

Controleer of de gebruiker gemachtigd is

Zorg ervoor dat het gebruikersaccount dat u gaat gebruiken, gemachtigd is om de agent te registreren.

Is de gebruiker eigenaar van een Azure DevOps-organisatie of TFS- of Azure DevOps Server-beheerder? Stop hier, je hebt toestemming.

Anders:

  1. Open een browser en navigeer naar het tabblad Agentpools voor uw Azure Pipelines-organisatie of Azure DevOps Server of TFS-server:

    1. Meld u aan bij uw organisatie (https://dev.azure.com/{yourorganization}).

    2. Kies Azure DevOps, organisatie-instellingen.

      Organisatie-instellingen kiezen.

    3. Kies Agentpools.

      Kies het tabblad Agentpools.

    1. Meld u aan bij uw projectverzameling (http://your-server/DefaultCollection).

    2. Kies Azure DevOps, Verzamelingsinstellingen.

      Kies Verzamelingsinstellingen.

    3. Kies Agentpools.

      Kies Agentgroepen.

  2. Selecteer de pool aan de rechterkant van de pagina en klik vervolgens op Beveiliging.

  3. Als het gebruikersaccount dat u gaat gebruiken niet wordt weergegeven, vraagt u een beheerder om het toe te voegen. De beheerder kan een beheerder van een agentgroep, een eigenaar van een Azure DevOps-organisatie of een TFS- of Azure DevOps Server-beheerder zijn.

    Als het een implementatiegroepagent is, kan de beheerder een beheerder van een implementatiegroep, een eigenaar van een Azure DevOps-organisatie of een TFS- of Azure DevOps Server-beheerder zijn.

    U kunt een gebruiker toevoegen aan de beheerdersrol van de implementatiegroep op het tabblad Beveiliging op de pagina Implementatiegroepen in Azure Pipelines.

Opmerking

Als u een bericht als volgt ziet: Sorry, we konden de identiteit niet toevoegen. Probeer een andere identiteit., hebt u waarschijnlijk de bovenstaande stappen gevolgd voor een organisatie-eigenaar of een beheerder van TFS of Azure DevOps Server. Je hoeft niets te doen. u bent al gemachtigd om de agentgroep te beheren.

De agent downloaden en configureren

Azure-pipelines

  1. Meld u aan bij de computer met het account waarvoor u machtigingen hebt voorbereid, zoals beschreven in de vorige sectie.

  2. Meld u in uw webbrowser aan bij Azure Pipelines en navigeer naar het tabblad Agentpools :

    1. Meld u aan bij uw organisatie (https://dev.azure.com/{yourorganization}).

    2. Kies Azure DevOps, organisatie-instellingen.

      Organisatie-instellingen kiezen.

    3. Kies Agentpools.

      Kies het tabblad Agentpools.

    1. Meld u aan bij uw projectverzameling (http://your-server/DefaultCollection).

    2. Kies Azure DevOps, Verzamelingsinstellingen.

      Kies Verzamelingsinstellingen.

    3. Kies Agentpools.

      Kies Agentgroepen.

  3. Selecteer de standaardgroep , selecteer het tabblad Agents en kies Nieuwe agent.

  4. Klik in het dialoogvenster De agent ophalen op Linux.

  5. Selecteer in het linkerdeelvenster de specifieke smaak. We bieden x64 of ARM voor veel Linux-distributies.

  6. Klik in het rechterdeelvenster op de knop Downloaden .

  7. Volg de instructies op de pagina.

  8. Pak de agent uit in de directory van uw keuze. cd naar die map en voer het commando uit ./config.sh.

Server-URL

Azure Pipelines: https://dev.azure.com/{your-organization}

Verificatietype

Wanneer u een agent registreert, kiest u uit de volgende verificatietypen en wordt u gevraagd om de specifieke aanvullende informatie die vereist is voor elk verificatietype. Voor meer informatie, zie Zelf-gehoste agentverificatieopties.

  • Persoonlijk toegangstoken
  • Alternatief verbinding maken met Azure DevOps Server of TFS met basisverificatie. Wanneer u Alternatieve selecteert, wordt u om uw referenties gevraagd.

Interactief uitvoeren

Zie Agents: Interactive vs. service voor hulp bij het uitvoeren van de agent in de interactieve modus of als een service.

De agent interactief uitvoeren:

  1. Als u de agent als een service hebt uitgevoerd, verwijdert u de service.

  2. Voer de agent uit.

    ./run.sh
    

Als u de agent opnieuw wilt starten, drukt u op Ctrl+C en voert u run.sh uit om de agent opnieuw op te starten.

Als u uw agent wilt gebruiken, voert u een taak uit met behulp van de pool van de agent. Als u geen andere groep hebt gekozen, wordt uw agent in de standaardgroep geplaatst.

Een keer uitvoeren

Voor agents die zijn geconfigureerd om interactief te worden uitgevoerd, kunt u ervoor kiezen dat de agent slechts één taak accepteert. Ga als volgt te werk om deze configuratie uit te voeren:

./run.sh --once

Agents in deze modus accepteren slechts één taak en draaien vervolgens probleemloos (handig voor het uitvoeren in Docker op een service zoals Azure Container Instances).

Uitvoeren als een systeemservice

Als uw agent op deze besturingssystemen wordt uitgevoerd, kunt u de agent als een systemd service uitvoeren.

  • Ubuntu 16 LTS of hoger
  • Red Hat 7.1 of hoger

We bieden een voorbeeldscript ./svc.sh voor u om uw agent als een systemd service uit te voeren en te beheren. Dit script wordt gegenereerd nadat u de agent hebt geconfigureerd. We raden u aan het script te controleren en zo nodig het script bij te werken voordat u het uitvoert.

Enkele belangrijke opmerkingen:

  • Als u uw agent als een service uitvoert, kunt u de agent service niet als root gebruiker uitvoeren.
  • Gebruikers met SELinux hebben problemen gemeld met het opgegeven svc.sh script. Raadpleeg dit agentprobleem als uitgangspunt. SELinux is geen officieel ondersteunde configuratie.

Opmerking

Als u een andere distributie hebt of als u liever andere benaderingen gebruikt, kunt u elk soort servicemechanisme gebruiken dat u wilt. Bekijk Servicebestanden.

Opdrachten

Ga naar de agentmap

Als u bijvoorbeeld in de myagent submap van uw basismap hebt geïnstalleerd:

cd ~/myagent$

Installeren

Opdracht:

sudo ./svc.sh install [username]

Met deze opdracht maakt u een servicebestand dat verwijst naar ./runsvc.sh. Met dit script wordt de omgeving ingesteld (meer informatie hieronder) en wordt de agentshost gestart. Als username de parameter niet is opgegeven, wordt de gebruikersnaam opgehaald uit de omgevingsvariabele $SUDO_USER die is ingesteld door sudo-opdracht. Deze variabele is altijd gelijk aan de naam van de gebruiker die de sudo opdracht heeft aangeroepen.

Beginnen

sudo ./svc.sh start

Toestand

sudo ./svc.sh status

Stoppen

sudo ./svc.sh stop

Deïnstalleren

U moet stoppen voordat u de installatie ongedaan gaat maken.

sudo ./svc.sh uninstall

Omgevingsvariabelen bijwerken

Wanneer u de service configureert, wordt een momentopname gemaakt van enkele nuttige omgevingsvariabelen voor uw huidige aanmeldingsgebruiker, zoals PATH, LANG, JAVA_HOME, ANT_HOME en MYSQL_PATH. Als u de variabelen wilt bijwerken (bijvoorbeeld nadat u een nieuwe software hebt geïnstalleerd):

./env.sh
sudo ./svc.sh stop
sudo ./svc.sh start

De momentopname van de omgevingsvariabelen wordt opgeslagen in .env het bestand (PATH wordt opgeslagen in .path) onder de hoofdmap van de agent. U kunt deze bestanden ook rechtstreeks wijzigen om wijzigingen in de omgevingsvariabele toe te passen.

Instructies uitvoeren voordat de service wordt gestart

U kunt ook uw eigen instructies en opdrachten uitvoeren om uit te voeren wanneer de service wordt gestart. U kunt bijvoorbeeld de omgeving instellen of scripts aanroepen.

  1. runsvc.shbewerken.

  2. Vervang de volgende regel door uw instructies:

    # insert anything to setup env when running as a service
    

Servicebestanden

Wanneer u de service installeert, worden sommige servicebestanden geplaatst.

systemd-servicebestand

Er wordt een systemd servicebestand gemaakt:

/etc/systemd/system/vsts.agent.{tfs-name}.{agent-name}.service

U hebt bijvoorbeeld een agent geconfigureerd (zie hierboven) met de naam our-linux-agent. Het servicebestand is:

  • Azure Pipelines: de naam van uw organisatie. Als u bijvoorbeeld verbinding maakt met https://dev.azure.com/fabrikam, dan is de servicenaam /etc/systemd/system/vsts.agent.fabrikam.our-linux-agent.service

  • TFS- of Azure DevOps-server: de naam van uw on-premises server. Als u bijvoorbeeld verbinding maakt met http://our-server:8080/tfs, dan is de servicenaam /etc/systemd/system/vsts.agent.our-server.our-linux-agent.service

sudo ./svc.sh install genereert dit bestand vanuit deze sjabloon: ./bin/vsts.agent.service.template

.servicebestand

sudo ./svc.sh start zoekt de service door het .service bestand te lezen, dat de naam van het systeemservicebestand bevat dat hierboven wordt beschreven.

Alternatieve servicemechanismen

We bieden het ./svc.sh script als een handige manier om uw agent uit te voeren en te beheren als een systeemservice. Maar u kunt elk type servicemechanisme gebruiken dat u wilt gebruiken (bijvoorbeeld: initd of upstart).

U kunt de hierboven beschreven sjabloon gebruiken om het genereren van andere soorten servicebestanden te vergemakkelijken.

Een cgroup gebruiken om agentfouten te voorkomen

Het is belangrijk om situaties te voorkomen waarin de agent mislukt of onbruikbaar wordt, omdat anders de agent geen pijplijnlogboeken kan streamen of de pijplijnstatus weer naar de server kan rapporteren. U kunt het risico beperken dat dit soort problemen wordt veroorzaakt door hoge geheugendruk door gebruik te maken van cgroups en een lagere oom_score_adj. Nadat u dit hebt gedaan, maakt Linux systeemgeheugen vrij van pijplijntaakprocessen voordat geheugen uit het agentproces wordt vrijgemaakt. Ontdek hoe u cgroups en OOM-score kunt configureren.

Een agent vervangen

Als u een agent wilt vervangen, volgt u de stappen voor het downloaden en configureren van de agent opnieuw.

Wanneer u een agent configureert met dezelfde naam als een agent die al bestaat, wordt u gevraagd of u de bestaande agent wilt vervangen. Als u Ybeantwoordt, moet u ervoor zorgen dat u de agent verwijdert (zie hieronder) die u vervangt. Anders zal na een paar minuten van conflicten een van de agents stoppen.

Een agent verwijderen en opnieuw configureren

Om de agent te verwijderen:

  1. Stop de service en verwijder deze, zoals beschreven in de vorige sectie.

  2. Verwijder de agent.

    ./config.sh remove
    
  3. Voer uw referenties in.

Nadat u de agent hebt verwijderd, kunt u deze opnieuw configureren.

Onbeheerde configuratie

De agent kan worden ingesteld vanuit een script zonder menselijke tussenkomst. U moet --unattended en de antwoorden op alle vragen doorgeven.

Als u een agent wilt configureren, moet deze de URL voor uw organisatie kennen of de referenties van iemand die gemachtigd is om agents in te stellen. Alle andere antwoorden zijn optioneel. Elke opdrachtregelparameter kan worden opgegeven met behulp van een omgevingsvariabele: plaats de naam in hoofdletters en prepend VSTS_AGENT_INPUT_. Bijvoorbeeld, VSTS_AGENT_INPUT_PASSWORD in plaats van --password te specificeren.

Vereiste opties

  • --unattended - de agentinstallatie zal niet om informatie vragen, en alle instellingen moeten via de opdrachtregel worden opgegeven.
  • --url <url> - URL van de server. Bijvoorbeeld: https://dev.azure.com/myorganization of http://my-azure-devops-server:8080/tfs
  • --auth <type> - authenticatietype. Geldige waarden zijn:
    • pat (Persoonlijk toegangstoken): PAT is het enige schema dat werkt met Azure DevOps Services.
    • alt (basisverificatie)

Verificatieopties

  • Als u gekozen hebt voor --auth pat:
    • --token <token> - geeft uw persoonlijke toegangstoken op
    • PAT is het enige schema dat werkt met Azure DevOps Services.
  • Als u --auth negotiate of --auth althebt gekozen:
    • --userName <userName> - hiermee geeft u een gebruikersnaam op
    • --password <password> - hiermee geeft u een wachtwoord op

Namen van pools en agents

  • --pool <pool> - naam van de pool waaraan de agent moet deelnemen
  • --agent <agent> - agentnaam
  • --replace : vervang de agent uit een pool. Als een andere agent met dezelfde naam luistert, zal het beginnen te falen vanwege een conflict.

Agent instellen

  • --work <workDirectory> - werkmap waarin taakgegevens worden opgeslagen. De standaardinstelling is _work onder de root van de agentmap. De werkmap is eigendom van een bepaalde agent en mag niet worden gedeeld tussen meerdere agents.
  • --acceptTeeEula - accepteer de eindgebruikerslicentieovereenkomst van Team Explorer Everywhere (alleen macOS en Linux)
  • --disableloguploads - stream niet of verzend de consoleloguitvoer niet naar de server. In plaats daarvan kunt u deze ophalen uit het bestandssysteem van de agenthost nadat de taak is voltooid.

Alleen implementatiegroep

  • --deploymentGroup : de agent configureren als een implementatiegroepagent
  • --deploymentGroupName <name> - wordt samen met --deploymentGroup gebruikt om de implementatiegroep op te geven waaraan de agent moet deelnemen
  • --projectName <name> - wordt samen met --deploymentGroup gebruikt om de projectnaam in te stellen
  • --addDeploymentGroupTags - wordt samen met --deploymentGroup gebruikt om aan te geven dat tags voor implementatiegroepen moeten worden toegevoegd
  • --deploymentGroupTags <tags> - wordt gebruikt met --addDeploymentGroupTags om de lijst met tags voor de implementatiegroepagent op te geven, gescheiden door komma's, bijvoorbeeld 'web, db'

Omgevingen alleen

  • --addvirtualmachineresourcetags: wordt gebruikt om aan te geven dat resourcetags voor de omgeving moeten worden toegevoegd
  • --virtualmachineresourcetags <tags> - gebruikt met --addvirtualmachineresourcetags om de door komma's gescheiden lijst met tags voor de omgevingsresourceagent op te geven, bijvoorbeeld 'web, db'

./config.sh --help geeft altijd de meest recente vereiste en optionele antwoorden weer.

Diagnostiek

Als u problemen ondervindt met uw zelfgehoste agent, kunt u proberen diagnostische tests uit te voeren. Na het configureren van de agent:

./run.sh --diagnostics

Dit wordt uitgevoerd via een diagnostisch pakket dat u kan helpen het probleem op te lossen. De diagnostische functie is beschikbaar vanaf agentversie 2.165.0.

Netwerkdiagnose voor zelf-hostende agents

Stel de waarde van Agent.Diagnostic in op true om extra logboeken te verzamelen die kunnen worden gebruikt voor het oplossen van netwerkproblemen voor zelf-hostende agents. Zie Netwerkdiagnose voor zelf-hostende agentsvoor meer informatie.

Hulp bij andere opties

Voor meer informatie over andere opties:

./config.sh --help

De Help biedt informatie over verificatiealternatieven en configuratie zonder toezicht.

Capaciteiten

De mogelijkheden van uw agent worden gecatalogeerd en aangekondigd in de pool, zodat alleen de builds en releases die het kan verwerken, eraan worden toegewezen. Zie mogelijkheden voor build- en releaseagenten.

In veel gevallen moet u, nadat u een agent hebt geïmplementeerd, software of hulpprogramma's installeren. Over het algemeen moet u dezelfde software en hulpmiddelen installeren op uw agents als die u op uw ontwikkelcomputer gebruikt.

Als uw build bijvoorbeeld de npm-taakbevat, wordt de build niet uitgevoerd tenzij er een buildagent is in de pool waarop NPM is geïnstalleerd.

Belangrijk

De mogelijkheden omvatten alle omgevingsvariabelen en de waarden die worden ingesteld wanneer de agent wordt uitgevoerd. Als een van deze waarden verandert terwijl de agent actief is, moet de agent opnieuw worden opgestart om de nieuwe waarden op te halen. Nadat u nieuwe software op een agent hebt geïnstalleerd, moet u de agent opnieuw starten om de nieuwe mogelijkheid weer te geven in de pool, zodat de build kan worden uitgevoerd.

Als u omgevingsvariabelen wilt uitsluiten als mogelijkheden, kunt u deze aanwijzen door een omgevingsvariabele in te stellen VSO_AGENT_IGNORE met een door komma's gescheiden lijst met variabelen die moeten worden genegeerd.

Veelgestelde vragen

Waar vind ik meer informatie over de nieuwe v3-agentsoftware?

Zie Agent-softwareversie 3 voor informatie en veelgestelde vragen over de v3-agentsoftware.

Hoe kan ik controleren of ik de nieuwste agentversie heb?

  1. Ga naar het tabblad Agentpools :

    1. Meld u aan bij uw organisatie (https://dev.azure.com/{yourorganization}).

    2. Kies Azure DevOps, organisatie-instellingen.

      Organisatie-instellingen kiezen.

    3. Kies Agentpools.

      Kies het tabblad Agentpools.

    1. Meld u aan bij uw projectverzameling (http://your-server/DefaultCollection).

    2. Kies Azure DevOps, Verzamelingsinstellingen.

      Kies Verzamelingsinstellingen.

    3. Kies Agentpools.

      Kies Agentgroepen.

  2. Klik op de pool die de agent bevat.

  3. Zorg ervoor dat de agent is ingeschakeld.

  4. Ga naar het tabblad Mogelijkheden:

    1. Selecteer op het tabblad Agentpools de gewenste agentpool.

      In de agentpools selecteert u de gewenste agentpool.

    2. Selecteer Agents en kies de gewenste agent.

      Selecteer Agenten en kies de agent.

    3. Kies het tabblad Mogelijkheden .

      Kies het tabblad Mogelijkheden.

      Opmerking

      Door Microsoft gehoste agents geven geen systeemmogelijkheden weer. Zie Een door Microsoft gehoste agent gebruikenvoor een lijst met software die is geïnstalleerd op door Microsoft gehoste agents.

    1. Selecteer op het tabblad Agentpools de gewenste pool.

      Selecteer de gewenste groep.

    2. Selecteer Agents en kies de gewenste agent.

      Selecteer Agents en kies de gewenste agent.

    3. Kies het tabblad Mogelijkheden .

      Tabblad met functionaliteiten van agent.

  5. Zoek naar de Agent.Version functie. U kunt deze waarde controleren op basis van de meest recente gepubliceerde agentversie. Zie De Azure Pipelines-agent en controleer de pagina op het hoogste versienummer dat wordt vermeld.

  6. Elke agent wordt automatisch bijgewerkt wanneer een taak wordt uitgevoerd waarvoor een nieuwere versie van de agent is vereist. Als u sommige agents handmatig wilt bijwerken, klikt u met de rechtermuisknop op de pool en selecteert u Alle agents bijwerken.

Kan ik mijn agents bijwerken die deel uitmaken van een Azure DevOps Server-pool?

Ja. Vanaf Azure DevOps Server 2019 kunt u uw server configureren om te zoeken naar de agentpakketbestanden op een lokale schijf. Deze configuratie overschrijft de standaardversie die bij de server is geleverd op het moment van de release. Dit scenario is ook van toepassing wanneer de server geen toegang heeft tot internet.

  1. Download vanaf een computer met internettoegang de nieuwste versie van de agentpakketbestanden (in .zip- of .tar.gz-vorm) van de GitHub-releasespagina van de Azure Pipelines Agent.

  2. Breng de gedownloade pakketbestanden over naar elke Azure DevOps Server-toepassingslaag met behulp van een methode van uw keuze (zoals USB-station, netwerkoverdracht, enzovoort). Plaats de agentbestanden onder de volgende map:

  • Ramen: %ProgramData%\Microsoft\Azure DevOps\Agents
  • Linux: usr/share/Microsoft/Azure DevOps/Agents
  • macOS: usr/share/Microsoft/Azure DevOps/Agents

Maak de map Agents aan als deze niet aanwezig is.

  1. Je bent klaar! Uw Azure DevOps-server gebruikt nu de lokale bestanden wanneer de agents worden bijgewerkt. Elke agent wordt automatisch bijgewerkt wanneer een taak wordt uitgevoerd waarvoor een nieuwere versie van de agent is vereist. Maar als u sommige agents handmatig wilt bijwerken, klikt u met de rechtermuisknop op de pool en kiest u Alle agents bijwerken.

Waarom is sudo nodig om de serviceopdrachten uit te voeren?

./svc.sh gebruikt systemctl, waarvoor vereist is sudo.

Broncode: systemd.svc.sh.template op GitHub

Ik voer een firewall uit en mijn code bevindt zich in Azure-opslagplaatsen. Met welke URL's moet de agent communiceren?

Als u een agent uitvoert in een beveiligd netwerk achter een firewall, moet u ervoor zorgen dat de agent communicatie kan starten met de volgende URL's en IP-adressen.

Domein-URL Beschrijving
https://{organization_name}.pkgs.visualstudio.com Azure DevOps Packaging-API voor organisaties die gebruikmaken van het {organization_name}.visualstudio.com-domein
https://{organization_name}.visualstudio.com Voor organisaties die het {organization_name}.visualstudio.com domein gebruiken
https://{organization_name}.vsblob.visualstudio.com Azure DevOps-telemetrie voor organisaties die gebruikmaken van het {organization_name}.visualstudio.com-domein
https://{organization_name}.vsrm.visualstudio.com Release Management Services voor organisaties die gebruikmaken van het {organization_name}.visualstudio.com-domein
https://{organization_name}.vssps.visualstudio.com Azure DevOps Platform Services voor organisaties die gebruikmaken van het {organization_name}.visualstudio.com-domein
https://{organization_name}.vstmr.visualstudio.com Azure DevOps Test Management Services voor organisaties die het {organization_name}.visualstudio.com-domein gebruiken
https://*.blob.core.windows.net Azure Artifacts
https://*.dev.azure.com Voor organisaties die het dev.azure.com domein gebruiken
https://*.vsassets.io Azure Artifacts met behulp van CDN
https://*.vsblob.visualstudio.com Azure DevOps-telemetrie voor organisaties die gebruikmaken van het dev.azure.com-domein
https://*.vssps.visualstudio.com Azure DevOps Platform Services voor organisaties die gebruikmaken van het dev.azure.com-domein
https://*.vstmr.visualstudio.com Azure DevOps Test Management Services voor organisaties die het dev.azure.com-domein gebruiken
https://app.vssps.visualstudio.com Voor organisaties die het {organization_name}.visualstudio.com domein gebruiken
https://dev.azure.com Voor organisaties die het dev.azure.com domein gebruiken
https://login.microsoftonline.com Microsoft Entra-aanmelding
https://management.core.windows.net Azure Management API's
https://download.agent.dev.azure.com Agentpakket

Belangrijk

Edgio CDN voor Azure DevOps is buiten gebruik gesteld. Hiervoor moet een nieuwe domein-URL worden vermeld in firewallregels voor het downloaden van agentsoftware. Het nieuwe domein voor acceptatielijst voor het downloaden van agents is https://*.dev.azure.com. Als uw firewallregels geen jokertekens toestaan, gebruikt u https://download.agent.dev.azure.com.

Het Azure DevOps-team raadt aan deze wijziging aan te brengen op de volgende datum:

  • 1 mei 2025 voor Azure DevOps Services
  • 15 mei 2025 voor Azure DevOps Server

Zie voor meer informatie de wijziging van de URL van het CDN-domein voor agenten in pijplijnen.

Zorg ervoor dat dev.azure.com en *dev.azure.com open zijn en dat uw lijst met toegestane IP-adressen is bijgewerkt met de volgende IP-adressen, afhankelijk van uw IP-versie, zodat uw organisatie werkt met bestaande firewall- of IP-beperkingen. Als u momenteel de IP-adressen 13.107.6.183 en 13.107.9.183 op de allowlist heeft staan, laat ze dan staan, omdat u ze niet hoeft te verwijderen.


13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
150.171.22.0/24 
150.171.23.0/24 
150.171.73.0/24 
150.171.74.0/24 
150.171.75.0/24 
150.171.76.0/24

Opmerking

Zie Toegestane adreslijsten en netwerkverbindingen voor meer informatie over toegestane adressen.

Hoe voer ik de agent uit met een zelfondertekend certificaat?

Voer de agent uit met een zelfondertekend certificaat

Hoe laat ik de agent draaien via een webproxy?

De agent achter een webproxy uitvoeren

Hoe kan ik de agent opnieuw opstarten

Als u de agent interactief uitvoert, raadpleegt u de instructies voor opnieuw opstarten in Uitvoeren interactief. Als u de agent als een systeemservice uitvoert, volgt u de stappen om de agent te stoppen en vervolgens te starten.

Hoe kan ik de agent configureren om een webproxy te omzeilen en verbinding te maken met Azure Pipelines?

Als u wilt dat de agent uw proxy omzeilt en rechtstreeks verbinding maakt met Azure Pipelines, moet u uw webproxy configureren om de agent toegang te geven tot de volgende URL's.

Voor organisaties die het *.visualstudio.com-domein gebruiken:

https://login.microsoftonline.com
https://app.vssps.visualstudio.com 
https://{organization_name}.visualstudio.com
https://{organization_name}.vsrm.visualstudio.com
https://{organization_name}.vstmr.visualstudio.com
https://{organization_name}.pkgs.visualstudio.com
https://{organization_name}.vssps.visualstudio.com

Voor organisaties die het dev.azure.com-domein gebruiken:

https://dev.azure.com
https://*.dev.azure.com
https://login.microsoftonline.com
https://management.core.windows.net
https://download.agent.dev.azure.com
https://vssps.dev.azure.com

Zorg ervoor dat dev.azure.com en *dev.azure.com open zijn en dat uw lijst met toegestane IP-adressen is bijgewerkt met de volgende IP-adressen, afhankelijk van uw IP-versie, zodat uw organisatie werkt met bestaande firewall- of IP-beperkingen. Als u momenteel de IP-adressen 13.107.6.183 en 13.107.9.183 op de allowlist heeft staan, laat ze dan staan, omdat u ze niet hoeft te verwijderen.


13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
150.171.22.0/24 
150.171.23.0/24 
150.171.73.0/24 
150.171.74.0/24 
150.171.75.0/24 
150.171.76.0/24

Opmerking

Met deze procedure kan de agent een webproxy omzeilen. Uw build-pijplijn en scripts moeten uw webproxy nog steeds omzeilen voor elke taak en elk hulpprogramma dat u in uw build uitvoert.

Als u bijvoorbeeld een NuGet-taak gebruikt, moet u uw webproxy zo configureren dat deze het omzeilen van de URL naar de server ondersteunt waarop de NuGet-feed die u gebruikt wordt gehost.

Ik gebruik TFS en de URL's in de bovenstaande secties werken niet voor mij. Waar kan ik hulp krijgen?

Website-instellingen en -beveiliging

Ik gebruik TFS on-premises en ik zie sommige van deze functies niet. Waarom niet?

Sommige van deze functies zijn alleen beschikbaar in Azure Pipelines en zijn nog niet on-premises beschikbaar. Sommige functies zijn on-premises beschikbaar als u een upgrade hebt uitgevoerd naar de nieuwste versie van TFS.

vereisten voor TFVC

Als u TFVC gebruikt, hebt u ook de Oracle Java JDK 1.6 of hoger nodig. (De Oracle JRE en OpenJDK zijn hiervoor niet voldoende.)

DE TEE-invoegtoepassing wordt gebruikt voor TFVC-functionaliteit. Het heeft een gebruiksrechtovereenkomst, die u tijdens de configuratie moet accepteren als u van plan bent om met TFVC te werken.

Omdat de TEE-invoegtoepassing niet meer wordt onderhouden en bepaalde verouderde Java-afhankelijkheden bevat, vanaf Agent 2.198.0 is deze niet meer opgenomen in de agentdistributie. De TEE-plugin wordt gedownload tijdens het uitvoeren van de uitchecktaak, als u een TFVC-repo uitcheckt. De TEE-invoegtoepassing wordt verwijderd na de uitvoering van de taak.

Opmerking

Opmerking: Het kan zijn dat het lang duurt voordat uw uitchecktaak werkt vanwege dit downloadmechanisme.

Als de agent achter een proxy of een firewall draait, moet u ervoor zorgen dat er toegang is tot de volgende site: https://vstsagenttools.blob.core.windows.net/. De TEE-invoegtoepassing wordt van dit adres gedownload.

Als u een zelf-hostende agent gebruikt en problemen ondervindt met het downloaden van TEE, kunt u TEE handmatig installeren:

  1. Stel DISABLE_TEE_PLUGIN_REMOVAL de omgevings- of pijplijnvariabele in op true. Met deze variabele voorkomt u dat de agent de TEE-invoegtoepassing verwijdert nadat de TFVC-repository is uitgecheckt.
  2. Download TEE-CLC versie 14.135.0 handmatig vanuit Team Explorer Everywhere GitHub-releases.
  3. Pak de inhoud van de map TEE-CLC-14.135.0 uit naar de map <agent_directory>/externals/tee.