Zelf-hostende Linux-agents (2.x)

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

Belangrijk

Dit artikel bevat richtlijnen voor het gebruik van de 2.x-versieagentsoftware met Azure DevOps Server en TFS. Als u Azure DevOps Services gebruikt, raadpleegt u Zelf-hostende Linux-agents.

Let op

In dit artikel wordt verwezen naar CentOS, een Linux-distributie die de status End Of Life (EOL) nadert. Overweeg uw gebruik en planning dienovereenkomstig. Zie de Richtlijnen voor het einde van de levensduur van CentOS voor meer informatie.

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. We ondersteunen Ubuntu, Red Hat en CentOS.

Voordat u begint:

  • Als uw pijplijnen zich in Azure Pipelines bevinden en een door Microsoft gehoste agent aan uw behoeften voldoet, kunt u het instellen van een privé-Linux-agent overslaan.
  • Anders bent u op de juiste plek gekomen om een agent in te stellen op Linux. Ga door naar de volgende sectie.

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.

Vereisten controleren

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

  • x64
    • CentOS 7, 6 (zie opmerking 1)
    • Debian 9
    • Fedora 30, 29
    • Linux Mint 18, 17
    • openSUSE 42.3 of hoger
    • Oracle Linux 8, 7
    • Red Hat Enterprise Linux 8, 7, 6 (zie opmerking 1)
    • SUSE Enterprise Linux 12 SP2 of hoger
    • Ubuntu 20.04, 18.04, 16.04
    • Azure Linux 1.0 (zie opmerking 3)
  • ARM32 (zie opmerking 2)
    • Debian 9
    • Ubuntu 18.04
  • ARM64
    • Debian 9
    • Ubuntu 21.04, 20.04, 18.04

Notitie

Opmerking 1: VOOR RHEL 6 en CentOS 6 moet de gespecialiseerde rhel.6-x64 versie van de agent worden geïnstalleerd.

Belangrijk

Vanaf februari 2023 bieden geen agentreleases meer ondersteuning voor RHEL 6. Zie Klanten die Red Hat Enterprise Linux (RHEL) 6 gebruiken, moeten het besturingssysteem upgraden op zelf-hostende agents voor meer informatie.

Notitie

Opmerking 2: ARM-instructieset ARMv7 of hoger is vereist. Voer uname -a uit om de instructieset van uw Linux-distributie te zien.

Notitie

Distributie van Het Linux-besturingssysteem van Azure heeft momenteel gedeeltelijke ondersteuning van de Azure DevOps-agent. We bieden een mechanisme voor het detecteren van deze besturingssysteemdistributie in installdependencies.sh script, maar vanwege gebrek aan ondersteuning van de .Net Core-zijde , kunnen we niet garanderen dat alle agentfuncties volledig kunnen worden uitgevoerd bij het uitvoeren van deze besturingssysteemdistributie.

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.

Notitie

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 Core 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.

Subversion

Als u bouwt vanuit een subversion-opslagplaats, moet u de Subversion-client op de computer installeren.

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.

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 te werken met TFVC.

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-invoegtoepassing wordt echter gedownload tijdens het uitvoeren van de uitchecktaak als u een TFVC-opslagplaats uitcheckt. De TEE-invoegtoepassing wordt verwijderd na de uitvoering van de taak.

Notitie

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

Als de agent wordt uitgevoerd achter een proxy of een firewall, moet u ervoor zorgen dat u toegang hebt 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-opslagplaats is uitcheckt.
  2. Download TEE-CLC versie 14.135.0 handmatig vanuit Team Explorer Everywhere GitHub-releases.
  3. Pak de inhoud van TEE-CLC-14.135.0 de map uit naar <agent_directory>/externals/tee.

Machtigingen voorbereiden

Informatiebeveiliging voor zelf-hostende 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 en ze bevatten geheimen 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, aan 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 best practice om de identiteit waarop de agent wordt uitgevoerd, te laten verschillen van de identiteit met machtigingen om de agent te verbinden met de pool. 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. Beheer istrators moeten mogelijk het bestandssysteem 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 agent gebruikt de referenties van deze persoon niet in de dagelijkse bewerking, maar is vereist om de registratie te voltooien. Meer informatie over hoe agents communiceren.

Verifiëren met een persoonlijk toegangstoken (PAT)

  1. Meld u aan met het gebruikersaccount dat u wilt gebruiken in uw Azure DevOps Server-webportal (https://{your-server}/DefaultCollection/).
  1. Meld u aan met het gebruikersaccount dat u wilt gebruiken in uw Azure DevOps-organisatie (https://dev.azure.com/{your_organization}).
  1. Open uw profiel op uw startpagina. Ga naar uw beveiligingsgegevens.

    Ga naar uw beveiligingsgegevens.

  2. Maak een persoonlijk toegangstoken.

    Maak een persoonlijk toegangstoken.

    Notitie

    Als u een agent voor een implementatiegroep configureert of als er een fout optreedt bij het registreren van een VM-omgevingsresource, moet u het PAT-bereik instellen op Alle toegankelijke organisaties. Schermopname van het instellen van pat-bereik voor alle toegankelijke organisaties.

  1. Open uw gebruikersinstellingen op uw startpagina en selecteer vervolgens Persoonlijke toegangstokens.

    Ga naar uw beveiligingsgegevens.

  2. Maak een persoonlijk toegangstoken.

    Maak een persoonlijk toegangstoken.

  1. Voor het bereik selecteert u Agentpools (lezen, beheren) en controleert u of alle andere vakken zijn uitgeschakeld. Als het een implementatiegroepagent is, selecteert u voor het bereik implementatiegroep (lezen, beheren) en controleert u of alle andere vakken zijn uitgeschakeld.

    Selecteer Alle bereiken onder aan het venster Een nieuw persoonlijk toegangstoken maken om de volledige lijst met bereiken weer te geven.

  2. Kopieer het token. U gebruikt dit token wanneer u de agent configureert.

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, u bent gemachtigd.

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.

      Kies Organisatie-instellingen.

    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 Agentpools.

    1. Kies Azure DevOps, Verzamelingsinstellingen.

      Verzamelingsinstellingen, 2019.

    2. Kies Agentpools.

      Kies Agentpools, 2019.

  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.

Notitie

Als u een bericht als volgt ziet: De identiteit kan niet worden toegevoegd. Probeer een andere identiteit. U hebt waarschijnlijk de bovenstaande stappen gevolgd voor een organisatie-eigenaar of TFS- of Azure DevOps Server-beheerder. Je hoeft niets te doen. u bent al gemachtigd om de agentwachtrij 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 hierboven is uitgelegd.

  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.

      Kies Organisatie-instellingen.

    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 Agentpools.

    1. Kies Azure DevOps, Verzamelingsinstellingen.

      Verzamelingsinstellingen, 2019.

    2. Kies Agentpools.

      Kies Agentpools, 2019.

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

  4. Klik in het dialoogvenster Agent ophalen op Linux.

  5. Selecteer in het linkerdeelvenster de specifieke smaak. We bieden x64 of ARM voor de meeste 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 map van uw keuze. cd naar die map en voer deze uit ./config.sh.

Azure DevOps Server 2019 en Azure DevOps Server 2020

  1. Meld u aan bij de computer met het account waarvoor u machtigingen hebt voorbereid, zoals hierboven is uitgelegd.

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

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

    2. Kies Azure DevOps, organisatie-instellingen.

      Kies Organisatie-instellingen.

    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 Agentpools.

    1. Kies Azure DevOps, Verzamelingsinstellingen.

      Verzamelingsinstellingen, 2019.

    2. Kies Agentpools.

      Kies Agentpools, 2019.

  3. Klik op Agent downloaden.

  4. Klik in het dialoogvenster Agent ophalen op Linux.

  5. Selecteer in het linkerdeelvenster de specifieke smaak. We bieden x64 of ARM voor de meeste 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 map van uw keuze. cd naar die map en voer deze uit ./config.sh.

Server-URL

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

Azure DevOps Server 2019: https://{your_server}/DefaultCollection

Authentication type

Azure-pipelines

Kies PAT en plak het PAT-token dat u hebt gemaakt in het opdrachtpromptvenster.

Notitie

Wanneer u PAT als verificatiemethode gebruikt, wordt het PAT-token alleen gebruikt voor de eerste configuratie van de agent. Meer informatie vindt u in Communicatie met Azure Pipelines of TFS.

TFS- of Azure DevOps-server

Belangrijk

Zorg ervoor dat uw server is geconfigureerd ter ondersteuning van de verificatiemethode die u wilt gebruiken.

Wanneer u uw agent configureert om verbinding te maken met TFS, hebt u de volgende opties:

  • Alternatieve Verbinding maken naar TFS of Azure DevOps Server met behulp van basisverificatie. Nadat u Alternatief hebt geselecteerd, wordt u gevraagd om uw referenties.

  • Geïntegreerd niet ondersteund in macOS of Linux.

  • Onderhandelen (standaard) Verbinding maken naar TFS of Azure DevOps Server als een andere gebruiker dan de aangemelde gebruiker via een Windows-verificatieschema, zoals NTLM of Kerberos. Nadat u Onderhandelen hebt geselecteerd, wordt u gevraagd om referenties.

  • PAT wordt alleen ondersteund in Azure Pipelines en TFS 2017 en hoger. Nadat u PAT hebt gekozen, plakt u het PAT-token dat u hebt gemaakt in het opdrachtpromptvenster. Gebruik een persoonlijk toegangstoken (PAT) als uw Azure DevOps Server- of TFS-exemplaar en de agentcomputer zich niet in een vertrouwd domein bevinden. PAT-verificatie wordt verwerkt door uw Azure DevOps Server- of TFS-exemplaar in plaats van de domeincontroller.

Notitie

Wanneer u PAT als verificatiemethode gebruikt, wordt het PAT-token alleen gebruikt voor de eerste configuratie van de agent op Azure DevOps Server en de nieuwere versies van TFS. Meer informatie vindt u in Communicatie met Azure Pipelines of TFS.

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 deze uit run.sh 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 pool hebt gekozen, bevindt uw agent zich in de standaardgroep .

Eenmaal 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 uitvoering in Docker op een service zoals Azure Container Instances).

Uitvoeren als een systeemservice

Als uw agent wordt uitgevoerd op deze besturingssystemen, 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 agentservice 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.

Notitie

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

Opdracht

Wijzigen in 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.

Starten

sudo ./svc.sh start

Status

sudo ./svc.sh status

Stoppen

sudo ./svc.sh stop

Verwijderen

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. Bewerken runsvc.sh.

  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 systeemservicebestand 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, https://dev.azure.com/fabrikamis 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, http://our-server:8080/tfsis 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 een hoge geheugendruk door 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. Meer informatie over het configureren van cgroups en de OOM-score.

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 antwoordt Y, moet u ervoor zorgen dat u de agent verwijdert (zie hieronder) die u vervangt. Anders wordt na een paar minuten conflicten een van de agents afgesloten.

Een agent verwijderen en opnieuw configureren

De agent verwijderen:

  1. Stop de service en verwijder deze zoals hierboven wordt uitgelegd.

  2. Verwijder de agent.

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

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

Configuratie zonder toezicht

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

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 op te --passwordgeven.

Vereiste opties

  • --unattended - Setup van agent vraagt niet om informatie en alle instellingen moeten worden opgegeven op de opdrachtregel
  • --url <url> - URL van de server. Bijvoorbeeld: https://dev.azure.com/myorganization of http://my-azure-devops-server:8080/tfs
  • --auth <type> - verificatietype. Geldige waarden zijn:
    • pat (Persoonlijk toegangstoken): PAT is het enige schema dat werkt met Azure DevOps Services.
    • negotiate (Kerberos of NTLM)
    • alt (Basisverificatie)
    • integrated (Standaardreferenties voor Windows)

Verificatieopties

  • Als u het volgende hebt gekozen --auth pat:
    • --token <token> - geeft uw persoonlijke toegangstoken op
    • PAT is het enige schema dat werkt met Azure DevOps Services.
  • Als u hebt gekozen --auth negotiate of --auth alt:
    • --userName <userName> - geeft een Windows-gebruikersnaam in de indeling domain\userName of userName@domain.com
    • --password <password> - geeft een wachtwoord

Namen van pools en agents

  • --pool <pool> - naam van de pool voor de agent die moet worden toegevoegd
  • --agent <agent> - agentnaam
  • --replace - vervang de agent in een pool. Als een andere agent met dezelfde naam luistert, mislukt deze met een conflict

Agent instellen

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

Opstarten met Alleen Windows

  • --runAsService - de agent configureren om te worden uitgevoerd als een Windows-service (hiervoor is beheerdersmachtiging vereist)
  • --runAsAutoLogon - configureer automatisch aanmelden en voer de agent uit bij het opstarten (hiervoor is beheerdersmachtiging vereist)
  • --windowsLogonAccount <account> - gebruikt met --runAsService of --runAsAutoLogon om de Windows-gebruikersnaam op te geven in de indeling domain\userName of userName@domain.com
  • --windowsLogonPassword <password> - gebruikt met --runAsService of --runAsAutoLogon om windows-aanmeldingswachtwoord op te geven (niet vereist voor door groepen beheerde serviceaccounts en ingebouwde Windows-accounts, zoals 'NT AUTHORITY\NETWORK SERVICE')
  • --enableservicesidtypeunrestricted - wordt gebruikt --runAsService voor het configureren van de agent met service-SID-type als SERVICE_SID_TYPE_UNRESTRICTED (hiervoor is beheerdersmachtiging vereist)
  • --overwriteAutoLogon - wordt gebruikt om --runAsAutoLogon de bestaande automatische aanmelding op de computer te overschrijven
  • --noRestart - wordt gebruikt --runAsAutoLogon om te voorkomen dat de host opnieuw wordt opgestart nadat de agentconfiguratie is voltooid

Problemen met het configureren van de agent oplossen met de runAsAutoLogon optie

Als u de agent configureert met de runAsAutoLogon optie, wordt de agent elke keer uitgevoerd nadat de computer opnieuw is opgestart. Voer de volgende stappen uit als de agent niet wordt uitgevoerd nadat de computer opnieuw is opgestart.

Als de agent al is geconfigureerd op de computer

Voordat u de agent opnieuw configureert, moet u de oude agentconfiguratie verwijderen. Probeer daarom deze opdracht uit te voeren vanuit de agentmap:

.\config.cmd remove --auth 'PAT' --token '<token>'

Controleer of de agent is verwijderd uit uw agentgroep nadat u de opdracht hebt uitgevoerd:

<Azure DevOps organization> / <Project> / Settings / Agent pools / <Agent Pool> / Agents

Verwijder de agent handmatig uit de agentgroep als deze niet is verwijderd door de opdracht uit te voeren.

Probeer vervolgens de agent opnieuw te configureren door deze opdracht uit te voeren vanuit de agentmap:

.\config.cmd --unattended --agent '<agent-name>' --pool '<agent-pool-name>' --url '<azure-dev-ops-organization-url>' --auth 'PAT' --token '<token>' --runAsAutoLogon --windowsLogonAccount '<domain\user-name>' --windowsLogonPassword '<windows-password>'

Geef de naam van de agent (een specifieke unieke naam) op en controleer of deze agent na het opnieuw configureren in uw agentgroep werd weergegeven.

Het is veel beter om een agentarchief uit te pakken (dat hier kan worden gedownload) en deze opdracht uit te voeren vanuit de nieuwe uitgepakte agentmap.

Controleer of de Windows-registersleutel is vastgelegd en correct is opgeslagen

Voer de whoami /user opdracht uit om de <sid>. Open Registry Editor en volg het pad:

Computer\HKEY_USERS\<sid>\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

Controleer of er de VSTSAgent sleutel is. Verwijder deze sleutel als deze bestaat, sluit Registry Editor en configureer de agent door de .\config.cmd opdracht (zonder argumenten) uit te voeren vanuit de agentmap. Voordat u de vraag Enter Restart the machine at a later time?beantwoordt, opent Registry Editor u het opnieuw en controleert u of de VSTSAgent sleutel is weergegeven. Druk Enter op de vraag om de vraag te beantwoorden en controleer of de VSTSAgent sleutel op de plaats blijft na het opnieuw opstarten van de computer.

Controleren of Windows-registersleutels goed werken op uw computer

Maak een autorun.cmd bestand met de volgende regel: echo "Hello from AutoRun!". Open Registry Editor en maak in het pad boven een nieuw sleutel-waardepaar met de sleutel AutoRun en de waarde

C:\windows\system32\cmd.exe /D /S /C start "AutoRun" "D:\path\to\autorun.cmd"

Start uw computer opnieuw op. U hebt een probleem met Windows-registersleutels als u geen consolevenster met het Hello from AutoRun! bericht ziet.

Alleen implementatiegroep

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

Alleen omgevingen

  • --addvirtualmachineresourcetags - gebruikt om aan te geven dat omgevingsresourcetags moeten worden toegevoegd
  • --virtualmachineresourcetags <tags> - wordt gebruikt om --addvirtualmachineresourcetags 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 zelf-hostende agent, kunt u proberen diagnostische gegevens 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.

Help over andere opties

Voor meer informatie over andere opties:

./config.sh --help

De Help biedt informatie over verificatiealternatieven en configuratie zonder toezicht.

Functies

De mogelijkheden van uw agent worden gecatalogeerd en geadverteerd in de pool, zodat alleen de builds en releases die eraan kunnen worden verwerkt, 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 installeren op uw agents welke software en hulpprogramma's u op uw ontwikkelcomputer gebruikt.

Als uw build bijvoorbeeld de npm-taak bevat, wordt de build niet uitgevoerd, tenzij er een buildagent in de pool is geïnstalleerd 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 wordt uitgevoerd, 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 VSO_AGENT_IGNORE in te stellen met een door komma's gescheiden lijst met variabelen die moeten worden genegeerd.

Veelgestelde vragen

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.

      Kies Organisatie-instellingen.

    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 Agentpools.

    1. Kies Azure DevOps, Verzamelingsinstellingen.

      Verzamelingsinstellingen, 2019.

    2. Kies Agentpools.

      Kies Agentpools, 2019.

  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.

      Selecteer in agentpools de gewenste agentpool.

    2. Selecteer Agents en kies de gewenste agent.

      Selecteer Agents en kies de agent.

    3. Kies het tabblad Mogelijkheden .

      Kies het tabblad Mogelijkheden.

      Notitie

      Door Microsoft gehoste agents geven geen systeemmogelijkheden weer. Zie Een door Microsoft gehoste agent gebruiken voor 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 pool.

    2. Selecteer Agents en kies de gewenste agent.

      Selecteer Agents en kies de gewenste agent.

    3. Kies het tabblad Mogelijkheden .

      Tabblad Mogelijkheden van agent.

    1. Selecteer op het tabblad Agentpools de gewenste pool.

      Selecteer het gewenste tabblad 2019.

    2. Selecteer Agents en kies de gewenste agent.

      Kies de gewenste agent, 2019.

    3. Kies het tabblad Mogelijkheden .

      Kies het tabblad Mogelijkheden, 2019.

  5. Zoek naar de Agent.Version mogelijkheid. 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 formulier) op 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:

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

Maak de map Agents als deze niet aanwezig is.

  1. U bent er klaar voor! 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.

Hoe kan ik controleren of ik de nieuwste versie van de v2-agent 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.

      Kies Organisatie-instellingen.

    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 Agentpools.

    1. Kies Azure DevOps, Verzamelingsinstellingen.

      Verzamelingsinstellingen, 2019.

    2. Kies Agentpools.

      Kies Agentpools, 2019.

  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.

      Selecteer in agentpools de gewenste agentpool.

    2. Selecteer Agents en kies de gewenste agent.

      Selecteer Agents en kies de agent.

    3. Kies het tabblad Mogelijkheden .

      Kies het tabblad Mogelijkheden.

      Notitie

      Door Microsoft gehoste agents geven geen systeemmogelijkheden weer. Zie Een door Microsoft gehoste agent gebruiken voor 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 pool.

    2. Selecteer Agents en kies de gewenste agent.

      Selecteer Agents en kies de gewenste agent.

    3. Kies het tabblad Mogelijkheden .

      Tabblad Mogelijkheden van agent.

    1. Selecteer op het tabblad Agentpools de gewenste pool.

      Selecteer het gewenste tabblad 2019.

    2. Selecteer Agents en kies de gewenste agent.

      Kies de gewenste agent, 2019.

    3. Kies het tabblad Mogelijkheden .

      Kies het tabblad Mogelijkheden, 2019.

  5. Zoek naar de Agent.Version mogelijkheid. 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 v2-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 formulier) op 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 %ProgramData%\Microsoft\Azure DevOps\Agents map. Maak de map Agents als deze niet aanwezig is.

  3. U bent er klaar voor! 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 het {organization_name}.visualstudio.com domein gebruiken
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 het {organization_name}.visualstudio.com domein gebruiken
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 het {organization_name}.visualstudio.com domein gebruiken
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 via CDN
https://*.vsblob.visualstudio.com Azure DevOps-telemetrie voor organisaties die het dev.azure.com domein gebruiken
https://*.vssps.visualstudio.com Azure DevOps Platform Services voor organisaties die het dev.azure.com domein gebruiken
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://vstsagentpackage.azureedge.net Agentpakket

Om ervoor te zorgen dat uw organisatie werkt met bestaande firewall- of IP-beperkingen, moet u ervoor zorgen dat dev.azure.com*dev.azure.com uw toegestane IP-adressen zijn geopend en bijgewerkt met de volgende IP-adressen, op basis van uw IP-versie. Als u momenteel de acceptatie van de 13.107.6.183 en 13.107.9.183 IP-adressen opgeeft, laat u deze staan, omdat u ze niet hoeft te verwijderen.

IPv4-bereiken

  • 13.107.6.0/24
  • 13.107.9.0/24
  • 13.107.42.0/24
  • 13.107.43.0/24

IPv6-bereiken

  • 2620:1ec:4::/48
  • 2620:1ec:a92::/48
  • 2620:1ec:21::/48
  • 2620:1ec:22::/48

Notitie

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

Hoe kan ik de agent uitvoeren met een zelfondertekend certificaat?

De agent uitvoeren met een zelfondertekend certificaat

Hoe kan ik de agent achter een webproxy uitvoeren?

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://vstsagentpackage.azureedge.net
https://vssps.dev.azure.com

Om ervoor te zorgen dat uw organisatie werkt met bestaande firewall- of IP-beperkingen, moet u ervoor zorgen dat dev.azure.com*dev.azure.com uw toegestane IP-adressen zijn geopend en bijgewerkt met de volgende IP-adressen, op basis van uw IP-versie. Als u momenteel de acceptatie van de 13.107.6.183 en 13.107.9.183 IP-adressen opgeeft, laat u deze staan, omdat u ze niet hoeft te verwijderen.

IPv4-bereiken

  • 13.107.6.0/24
  • 13.107.9.0/24
  • 13.107.42.0/24
  • 13.107.43.0/24

IPv6-bereiken

  • 2620:1ec:4::/48
  • 2620:1ec:a92::/48
  • 2620:1ec:21::/48
  • 2620:1ec:22::/48

Notitie

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 de URL wordt overgeslagen voor de server waarop de NuGet-feed wordt gehost die u gebruikt.

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.