Zelf-hostende Linux-agents

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

Belangrijk

Dit artikel bevat richtlijnen voor het gebruik van de 3.x-agentsoftware met Azure DevOps Services. Als u Azure DevOps Server of TFS gebruikt, raadpleegt u Zelf-hostende Linux-agents (agentversie 2.x).

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. Zie Vereisten controleren voor een lijst met ondersteunde Linux-distributies.

Notitie

In dit artikel wordt beschreven hoe u een zelf-hostende agent configureert. 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.

Vereisten controleren

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
      • CentOS 7, 8
      • 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
    • 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 op de computer installeren.
  • TFVC: als u bouwt vanuit een TFVC-opslagplaats, raadpleegt u TFVC-vereisten.

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

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

      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 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 map van uw keuze. cd naar die map en voer deze uit ./config.sh.

Server-URL

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

Authentication type

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. Zie Zelf-hostende agentverificatieopties voor meer informatie.

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

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 groep hebt gekozen, wordt uw agent in de standaardgroep geplaatst.

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 het uitvoeren 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 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, 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 hoge geheugendruk door gebruik te maken cgroups van 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 cgroups en 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 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.

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.
    • alt (Basisverificatie)

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 gebruikersnaam
    • --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.

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.

Netwerkdiagnose voor zelf-hostende agents

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

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

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.

      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.

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.

TFVC-vereisten

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-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 de toegang tot de volgende site wordt uitgevoerd: 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.