MacOS-agenter med egen värd
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Den här artikeln innehåller vägledning om hur du använder 3.x-agentprogramvara med Azure DevOps Services och aktuella versioner av Azure DevOps Server. En lista över Azure DevOps Server-versioner som stöder 3.x-agenten finns i Stöder Azure DevOps Server 3.x-agenten.
Om du vill skapa och distribuera Xcode-appar behöver du minst en macOS-agent. Den här agenten kan också skapa och distribuera Java- och Android-appar.
Obs
I den här artikeln beskrivs hur du konfigurerar en lokalt installerad agent. Om du använder Azure DevOps Services och en Microsoft-värdbaserad agent uppfyller dina behov kan du hoppa över att konfigurera en macOS-agent med egen värd.
Lär dig mer om agenter
Om du redan vet vad en agent är och hur den fungerar kan du hoppa direkt till följande avsnitt. Men om du vill ha mer bakgrund om vad de gör och hur de fungerar kan du läsa Azure Pipelines-agenter.
Kontrollera kraven
- Operativsystem som stöds
- x64
- macOS 10.15 "Catalina"
- macOS 11.0 "Big Sur"
- macOS 12.0 "Monterey"
- macOS 13.0 "Ventura"
- macOS 14.0 "Sonoma"
- ARM64
- macOS 11.0 "Big Sur"
- macOS 12.0 "Monterey"
- macOS 13.0 "Ventura"
- macOS 14.0 "Sonoma"
- x64
- Git – Git 2.9.0 eller senare (den senaste versionen rekommenderas – du kan enkelt installera med Homebrew)
- .NET – Agentprogramvaran körs på .NET 6, men installerar sin egen version av .NET så att det inte finns något .NET-krav.
- TFVC- – Om du skapar från en TFVC-lagringsplats kan du läsa TFVC-krav.
Förbereda behörigheter
Om du skapar från en subversions-lagringsplats måste du installera subversionsklienten på datorn.
Du bör köra agentkonfigurationen manuellt första gången. När du har fått en känsla för hur agenter fungerar eller om du vill automatisera konfigurationen av många agenter kan du överväga att använda obevakad konfiguration.
Informationssäkerhet för lokalt installerade agenter
Användaren som konfigurerar agenten behöver pooladministratörsbehörigheter, men den användare som kör agenten gör det inte.
Mapparna som styrs av agenten bör begränsas till så få användare som möjligt eftersom de innehåller hemligheter som kan dekrypteras eller exfiltrateras.
Azure Pipelines-agenten är en programvaruprodukt som är utformad för att köra kod som den laddar ned från externa källor. Det är av naturen ett mål för RCE-attacker (Remote Code Execution).
Därför är det viktigt att överväga hotmodellen som omger varje enskild användning av Pipelines-agenter för att utföra arbete och bestämma vilka som är de minsta behörigheter som kan beviljas användaren som kör agenten, till den dator där agenten körs, till de användare som har skrivåtkomst till pipelinedefinitionen, git-lagringsplatserna där yaml lagras. eller den grupp användare som styr åtkomsten till poolen för nya pipelines.
Det är bästa praxis att låta identiteten som kör agenten skilja sig från identiteten med behörighet att ansluta agenten till poolen. Användaren som genererar autentiseringsuppgifterna (och andra agentrelaterade filer) skiljer sig från den användare som behöver läsa dem. Därför är det säkrare att noggrant överväga åtkomst som beviljats till själva agentdatorn och agentmapparna som innehåller känsliga filer, till exempel loggar och artefakter.
Det är klokt att bevilja åtkomst till agentmappen endast för DevOps-administratörer och användaridentiteten som kör agentprocessen. Administratörer kan behöva undersöka filsystemet för att förstå byggfel eller hämta loggfiler för att kunna rapportera Azure DevOps-fel.
Bestäm vilken användare du ska använda
Som ett engångssteg måste du registrera agenten. Någon med behörighet att administrera agentkön måste slutföra de här stegen. Agenten använder inte den här personens autentiseringsuppgifter varje dag, men de måste slutföra registreringen. Läs mer om hur agenter kommunicerar.
Bekräfta att användaren har behörighet
Kontrollera att det användarkonto som du ska använda har behörighet att registrera agenten.
Är användaren en Azure DevOps-organisationsägare eller TFS- eller Azure DevOps Server-administratör? Sluta här när du har behörighet.
Annars:
Öppna en webbläsare och gå till fliken Agentpooler för din Azure Pipelines-organisation eller Azure DevOps Server eller TFS-server:
Logga in på din organisation (
https://dev.azure.com/{yourorganization}
).Välj Azure DevOps, Organisationsinställningar.
Välj agentpool.
Logga in på projektsamlingen (
http://your-server/DefaultCollection
).Välj Azure DevOps, Collection-inställningar.
Välj agentpooler.
Välj Azure DevOps, Collection-inställningar.
Välj agentpooler.
Välj poolen till höger på sidan och klicka sedan på Security.
Om det användarkonto som du ska använda inte visas får du en administratör att lägga till det. Administratören kan vara administratör för agentpoolen, en Azure DevOps-organisationsägareeller en TFS- eller Azure DevOps Server-administratör.
Om det är en distributionsgrupp agent kan administratören vara administratör för distributionsgruppen, en Azure DevOps-organisationsägareeller en TFS- eller Azure DevOps Server-administratör.
Du kan lägga till en användare i administratörsrollen för distributionsgruppen på fliken Security på sidan Distributionsgrupper i Azure Pipelines.
Obs
Om du ser ett meddelande som det här: Det gick inte att lägga till identiteten. Prova en annan identitet.har du förmodligen följt stegen ovan för en organisationsägare eller TFS- eller Azure DevOps Server-administratör. Du behöver inte göra något; du redan har behörighet att administrera agentpoolen.
Ladda ned och konfigurera agenten
Azure Pipelines
Logga in på datorn med det konto som du har förberett behörigheter för enligt beskrivningen i föregående avsnitt.
Logga in på Azure Pipelines i webbläsaren och gå till fliken Agent-pooler:
Logga in på din organisation (
https://dev.azure.com/{yourorganization}
).Välj Azure DevOps, Organisationsinställningar.
Välj agentpoolerna.
Logga in på projektsamlingen (
http://your-server/DefaultCollection
).Välj Azure DevOps, Collection-inställningar.
Välj Agentpooler.
Välj Azure DevOps, Collection-inställningar.
Välj agentpooler.
Välj standardpoolen, markera fliken Agenter och välj Ny agent.
I dialogrutan Hämta agenten, klicka på macOS.
Klicka på knappen Ladda ned.
Följ anvisningarna på sidan.
Rensa det utökade attributet för tar-filen:
xattr -c vsts-agent-osx-x64-V.v.v.tar.gz
.Packa upp agenten till en mapp du väljer.
cd
till mappen och kör./config.sh
. Se till att sökvägen till katalogen inte innehåller några mellanslag eftersom verktyg och skript inte alltid hanterar mellanslag korrekt.
Server-URL
Azure Pipelines: https://dev.azure.com/{your-organization}
Azure DevOps Server: https://{your_server}/tfs
Autentiseringstyp
När du registrerar en agent väljer du mellan följande autentiseringstyper, och agentkonfigurationen uppmanar dig att ange den specifika ytterligare information som krävs för varje autentiseringstyp. Mer information finns i autentiseringsalternativ för lokalt installerad agent.
- Personlig åtkomsttoken
- Alternativ Anslut till Azure DevOps Server eller TFS med grundläggande autentisering. När du väljer Alternativ uppmanas du att ange dina autentiseringsuppgifter.
Kör interaktivt
Information om huruvida agenten ska köras i interaktivt läge eller som en tjänst finns i Agenter: Interaktiv kontra tjänst.
Så här kör du agenten interaktivt:
Om du har kört agenten som en tjänst avinstallera tjänsten.
Kör agenten.
./run.sh
Starta om agenten genom att trycka på Ctrl+C och sedan köra run.sh
för att starta om den.
Om du vill använda din agent kör du ett jobb med hjälp av agentens pool. Om du inte valde en annan pool placeras agenten i standardpoolen.
Kör en gång
För agenter som har konfigurerats för att köras interaktivt kan du välja att låta agenten endast acceptera ett jobb. Så här kör du i den här konfigurationen:
./run.sh --once
Agenter i det här läget accepterar bara ett uppdrag och avslutas sedan smidigt (användbart för att köra på en tjänst som Azure Container Instances).
Kör som en startad tjänst
Vi tillhandahåller ./svc.sh
skript som du kan använda för att köra och hantera din agent som en launchd
LaunchAgent-tjänst. Det här skriptet genereras när du har konfigurerat agenten. Tjänsten har åtkomst till användargränssnittet för att köra dina användargränssnittstester.
Anteckning
Om du föredrar andra metoder kan du använda vilken typ av tjänstmekanism du vill. Se Service-filer.
Token
I följande avsnitt ersätts dessa tokens:
{agent-name}
{tfs-name}
Du har till exempel konfigurerat en agent (som du ser i föregående exempel) med namnet our-osx-agent
. I följande exempel är {tfs-name}
antingen:
Azure Pipelines: namnet på din organisation. Om du till exempel ansluter till
https://dev.azure.com/fabrikam
blir tjänstnamnetvsts.agent.fabrikam.our-osx-agent
TFS: namnet på din lokala TFS AT-server. Om du till exempel ansluter till
http://our-server:8080/tfs
blir tjänstnamnetvsts.agent.our-server.our-osx-agent
Kommandon
Ändra till agentkatalogen
Om du till exempel har installerat i myagent
-undermappen för din hemkatalog:
cd ~/myagent$
Installera
Befallning:
./svc.sh install
Det här kommandot skapar en launchd
plist som pekar på ./runsvc.sh
. Det här skriptet konfigurerar miljön (mer information i följande avsnitt) och startar agentens värd.
Starta
Befallning:
./svc.sh start
Utdata:
starting vsts.agent.{tfs-name}.{agent-name}
status vsts.agent.{tfs-name}.{agent-name}:
/Users/{your-name}/Library/LaunchAgents/vsts.agent.{tfs-name}.{agent-name}.plist
Started:
13472 0 vsts.agent.{tfs-name}.{agent-name}
Det vänstra numret är pid om tjänsten körs. Om det andra talet inte är noll uppstod ett problem.
Status
Befallning:
./svc.sh status
Utdata:
status vsts.agent.{tfs-name}.{agent-name}:
/Users/{your-name}/Library/LaunchAgents/vsts.{tfs-name}.{agent-name}.testsvc.plist
Started:
13472 0 vsts.agent.{tfs-name}.{agent-name}
Det vänstra numret är PID om tjänsten körs. Om det andra talet inte är noll uppstod ett problem.
Stopp
Befallning:
./svc.sh stop
Utdata:
stopping vsts.agent.{tfs-name}.{agent-name}
status vsts.agent.{tfs-name}.{agent-name}:
/Users/{your-name}/Library/LaunchAgents/vsts.{tfs-name}.{agent-name}.testsvc.plist
Stopped
Avinstallera
Du bör sluta innan du avinstallerar.
Befallning:
./svc.sh uninstall
Automatisk inloggning och lås
Normalt körs agenttjänsten endast efter att användaren har loggat in. Om du vill att agenttjänsten ska starta automatiskt när datorn startas om kan du konfigurera datorn så att den automatiskt loggar in och låser vid start. Se Ställ in mac-datorn på automatisk inloggning under start – Apple Support.
Not
För mer information, se bloggen Terminally Geeky: använd automatisk inloggning på ett säkrare sätt. Den .plist-fil som nämns i den bloggen kanske inte längre är tillgänglig från källan, men en kopia finns här: Lifehacker – Få OS X att läsa in skrivbordet innan du loggar in.
Uppdatera miljövariabler
När du konfigurerar tjänsten tar den en ögonblicksbild av några användbara miljövariabler för din aktuella inloggningsanvändare, till exempel PATH, LANG, JAVA_HOME, ANT_HOME och MYSQL_PATH. Om du behöver uppdatera variablerna (till exempel när du har installerat en ny programvara):
./env.sh
./svc.sh stop
./svc.sh start
Ögonblicksbilden av miljövariablerna lagras i .env
fil under agentrotkatalogen, du kan också ändra filen direkt för att tillämpa miljövariabeländringar.
Kör instruktioner innan tjänsten startas
Du kan också köra egna instruktioner och kommandon som ska köras när tjänsten startas. Du kan till exempel konfigurera miljön eller anropa skript.
Redigera
runsvc.sh
.Ersätt följande rad med dina instruktioner:
# insert anything to setup env when running as a service
Tjänstfiler
När du installerar tjänsten installeras vissa tjänstfiler.
.plist-tjänstfil
En .plist-tjänstfil skapas:
~/Library/LaunchAgents/vsts.agent.{tfs-name}.{agent-name}.plist
Till exempel:
~/Library/LaunchAgents/vsts.agent.fabrikam.our-osx-agent.plist
./svc.sh install
genererar den här filen från den här mallen: ./bin/vsts.agent.plist.template
.servicefil
./svc.sh start
hittar tjänsten genom att läsa .service
-filen, som innehåller sökvägen till plist-tjänstfilen som beskrivs ovan.
Alternativa tjänstmekanismer
Vi tillhandahåller ./svc.sh
-skriptet som ett bekvämt sätt för dig att köra och hantera din agent som en launchd
LaunchAgent-tjänst. Men du kan använda vilken typ av tjänstmekanism du vill.
Du kan använda mallen som beskrivs ovan för att underlätta generering av andra typer av tjänstfiler. Du kan till exempel ändra mallen för att generera en tjänst som körs som en startdaemon om du inte behöver användargränssnittstester och inte vill konfigurera automatisk inloggning och låsning. Se Apple Developer Library: Skapa Launch Daemons och Agents.
Ersätt en agent
Om du vill ersätta en agent följer du Ladda ned och konfigurerar agenten steg igen.
När du konfigurerar en agent med samma namn som en agent som redan finns tillfrågas du om du vill ersätta den befintliga agenten. Om du svarar Y
, se till att du tar bort agenten (se nedan) som du ersätter. Annars stängs en av agenterna av efter några minuters konflikter.
Ta bort och konfigurera om en agent
Så här tar du bort agenten:
Stoppa och avinstallera tjänsten enligt beskrivningen i föregående avsnitt.
Ta bort agenten.
./config.sh remove
Ange dina autentiseringsuppgifter.
När du har tagit bort agenten kan du konfigurera den igen.
Obevakad konfiguration
Agenten kan konfigureras från ett skript utan mänsklig inblandning.
Du måste klara av --unattended
och svaren på alla frågor.
För att konfigurera en agent måste den känna till URL:en till din organisation eller samling och autentiseringsuppgifter för någon som har behörighet att konfigurera agenter.
Alla andra svar är valfria.
Alla kommandoradsparametrar kan anges med hjälp av en miljövariabel i stället: skriv parameterns namn i versaler och lägg till VSTS_AGENT_INPUT_
i början.
Till exempel VSTS_AGENT_INPUT_PASSWORD
i stället för att ange --password
.
Obligatoriska alternativ
-
--unattended
– agentkonfigurationen frågar inte efter information och alla inställningar måste anges på kommandoraden -
--url <url>
– serverns URL. Exempel: https://dev.azure.com/myorganization eller http://my-azure-devops-server:8080/tfs -
--auth <type>
– autentiseringstyp. Giltiga värden är:-
pat
(personlig åtkomsttoken) – PAT är det enda schemat som fungerar med Azure DevOps Services. -
alt
(grundläggande autentisering)
-
Autentiseringsalternativ
- Om du väljer
--auth pat
:-
--token <token>
– anger din personliga åtkomsttoken - PAT är det enda schemat som fungerar med Azure DevOps Services.
-
- Om du väljer
--auth negotiate
eller--auth alt
:-
--userName <userName>
– anger ett användarnamn -
--password <password>
– anger ett lösenord
-
Pool- och agentnamn
-
--pool <pool>
– poolnamn för agenten som ska anslutas -
--agent <agent>
– agentnamn -
--replace
– ersätt agenten i en pool. Om en annan agent lyssnar med samma namn kommer det att börja misslyckas på grund av en konflikt
Agentkonfiguration
-
--work <workDirectory>
– arbetskatalog där jobbdata lagras. Standardinställningen är_work
under roten i agentkatalogen. Arbetskatalogen ägs av en viss agent och bör inte delas mellan flera agenter. -
--acceptTeeEula
– acceptera licensavtalet för slutanvändare i Team Explorer överallt (endast macOS och Linux) -
--disableloguploads
– strömma inte eller skicka inte utdata från konsolloggen till servern. I stället kan du hämta dem från agentvärdens filsystem när jobbet har slutförts.
Endast utplaceringsgrupp
-
--deploymentGroup
– konfigurera agenten som en distributionsgruppsagent -
--deploymentGroupName <name>
– används med--deploymentGroup
för att ange distributionsgruppen som agenten ska ansluta till -
--projectName <name>
– används med--deploymentGroup
för att ange projektnamnet -
--addDeploymentGroupTags
– används med--deploymentGroup
för att ange att taggar för distributionsgrupp ska läggas till -
--deploymentGroupTags <tags>
– används med--addDeploymentGroupTags
för att ange kommaavgränsad lista med taggar för distributionsgruppagenten , till exempel "web, db"
Endast miljöer
-
--addvirtualmachineresourcetags
– används för att ange att miljöresurstaggar ska läggas till -
--virtualmachineresourcetags <tags>
– används med--addvirtualmachineresourcetags
för att ange kommaavgränsad lista med taggar för miljöresursagenten – till exempel "web, db"
./config.sh --help
visar alltid de senaste obligatoriska och valfria svaren.
Diagnostik
Om du har problem med din lokala agent kan du prova att köra diagnostik. När du har konfigurerat agenten:
./run.sh --diagnostics
Detta kommer att genomföra ett diagnostikprogram som kan hjälpa dig att identifiera och felsöka problemet. Diagnostikfunktionen är tillgänglig från och med agentversion 2.165.0.
Nätverksdiagnostik för lokalt installerade agenter
Ange värdet för Agent.Diagnostic
till true
för att samla in ytterligare loggar som kan användas för att felsöka nätverksproblem för lokalt installerade agenter. Mer information finns i Nätverksdiagnostik för lokalt installerade agenter.
Hjälp om andra alternativ
Om du vill veta mer om andra alternativ:
./config.sh --help
Hjälpen innehåller information om autentiseringsalternativ och obevakad konfiguration.
Kapacitet
Agentens kapacitet katalogiseras och annonseras i poolen så att endast de byggen och versioner som den kan hantera tilldelas till den. Se funktioner för att skapa och släppa agenten.
I många fall måste du installera programvara eller verktyg när du har distribuerat en agent. Vanligtvis bör du installera på dina agenter oavsett vilken programvara och vilka verktyg du använder på utvecklingsdatorn.
Om bygget till exempel innehåller npm-aktivitetenkörs inte bygget om det inte finns en byggagent i poolen som har npm installerat.
Viktig
Funktionerna omfattar alla miljövariabler och de värden som anges när agenten körs. Om något av dessa värden ändras medan agenten körs måste agenten startas om för att få de nya värdena. När du har installerat ny programvara på en agent måste du starta om agenten för att den nya funktionen ska visas i poolen, så att bygget kan köras.
Om du vill undanta miljövariabler som funktioner kan du ange dem genom att ange en miljövariabel VSO_AGENT_IGNORE
med en kommaavgränsad lista med variabler som ska ignoreras.
FAQ
Hur ser jag till att jag har den senaste agentversionen?
Gå till fliken Agentpool:
Logga in på din organisation (
https://dev.azure.com/{yourorganization}
).Välj Azure DevOps, Organisationsinställningar.
Välj Agentpooler.
Logga in på projektsamlingen (
http://your-server/DefaultCollection
).Välj Azure DevOps, Collection-inställningar.
Välj Agent pools.
Välj Azure DevOps, Collection-inställningar.
Välj agentpooler.
Klicka på poolen som innehåller agenten.
Kontrollera att agenten är aktiverad.
Gå till fliken Funktioner:
På fliken Agentpooler väljer du önskad agentpool.
Välj Agenter och välj önskad agent.
Välj fliken Funktioner.
Not
Agenter som är värdade av Microsoft visar inte systemfunktioner. En lista över programvara som är installerad på Microsoft-värdbaserade agenter finns i Använda en Microsoft-värdbaserad agent.
På fliken Agentpooler, välj den önskade poolen.
Välj agenter och välj önskad agent.
Välj fliken Funktioner.
Välj den önskade poolen från fliken Agentpooler.
Välj Agenter och välj den önskade agenten.
Välj fliken Funktioner.
Leta efter funktionen
Agent.Version
. Du kan kontrollera det här värdet mot den senaste publicerade agentversionen. Se Azure Pipelines Agent och kontrollera om sidan visar det högsta versionsnumret som anges.Varje agent uppdateras automatiskt när den kör en uppgift som kräver en nyare version av agenten. Om du vill uppdatera vissa agenter manuellt högerklickar du på poolen och väljer Uppdatera alla agenter.
Kan jag uppdatera mina agenter som ingår i en Azure DevOps Server-pool?
Ja. Från och med Azure DevOps Server 2019 kan du konfigurera servern så att den söker efter agentpaketfilerna på en lokal disk. Den här konfigurationen åsidosätter standardversionen som medföljer servern när den släpptes. Det här scenariot gäller även när servern inte har åtkomst till Internet.
Från en dator med Internetåtkomst laddar du ned den senaste versionen av agentpaketets filer (i .zip eller .tar.gz-format) från sidan för Azure Pipelines Agent GitHub-releaser.
Överför de nedladdade paketfilerna till varje Azure DevOps Server-programnivå med hjälp av valfri metod (till exempel USB-enhet, nätverksöverföring och så vidare). Placera agentfilerna under följande mapp:
- Windows:
%ProgramData%\Microsoft\Azure DevOps\Agents
- Linux:
usr/share/Microsoft/Azure DevOps/Agents
- macOS:
usr/share/Microsoft/Azure DevOps/Agents
Skapa mappen Agents om den inte finns.
- Ni är klara! Azure DevOps Server använder nu de lokala filerna när agenterna uppdateras. Varje agent uppdateras automatiskt när den kör en uppgift som kräver en nyare version av agenten. Men om du vill uppdatera vissa agenter manuellt högerklickar du på poolen och väljer sedan Uppdatera alla agenter.
Hur ser jag till att jag har den senaste agentversionen?
Gå till fliken Agentpooler:
Logga in på din organisation (
https://dev.azure.com/{yourorganization}
).Välj Azure DevOps, Organisationsinställningar.
Välj Agentpool.
Logga in på projektsamlingen (
http://your-server/DefaultCollection
).Välj Azure DevOps, Collection-inställningar.
Välj Agentpooler.
Välj Azure DevOps, Collection-inställningar.
Välj agentpooler.
Klicka på poolen som innehåller agenten.
Kontrollera att agenten är aktiverad.
Gå till fliken Funktioner:
På fliken Agentpooler väljer du önskad agentpool.
Välj agenter och välj önskad agent.
Välj fliken Funktioner.
Not
Microsoft-värdbaserade agenter visar inte systemfunktioner. En lista över programvaror som är installerade på Microsoft-värdbaserade agenter finns i Använd en Microsoft-värdbaserad agent.
Välj önskad pool på fliken Agentpooler.
Välj Agenter och välj önskad agent.
Välj fliken Funktioner.
På fliken Agentpooler väljer du den önskade poolen.
Välj agenter och välj önskad agent.
Välj fliken Funktioner.
Leta efter funktionen
Agent.Version
. Du kan kontrollera det här värdet mot den senaste publicerade agentversionen. Se Azure Pipelines Agent- och kontrollera sidan för det högsta versionsnumret som anges.Varje agent uppdateras automatiskt när den kör en uppgift som kräver en nyare version av agenten. Om du vill uppdatera vissa agenter manuellt högerklickar du på poolen och väljer Uppdatera alla agenter.
Kan jag uppdatera mina agenter som ingår i en Azure DevOps Server-pool?
Ja. Från och med Azure DevOps Server 2019 kan du konfigurera servern så att den söker efter agentpaketfilerna på en lokal disk. Den här konfigurationen åsidosätter standardversionen som medföljer servern när den släpptes. Det här scenariot gäller även när servern inte har åtkomst till Internet.
Från en dator med Internetåtkomst laddar du ned den senaste versionen av agentpaketfiler (i .zip- eller .tar.gz-form) från Azure Pipelines Agent GitHub-releasesidan.
Överför de nedladdade paketfilerna till varje Azure DevOps Server-programnivå med hjälp av valfri metod (till exempel USB-enhet, nätverksöverföring och så vidare). Placera agentfilerna under följande mapp:
- Windows:
%ProgramData%\Microsoft\Azure DevOps\Agents
- Linux:
usr/share/Microsoft/Azure DevOps/Agents
- macOS:
usr/share/Microsoft/Azure DevOps/Agents
Skapa mappen Agents om den inte finns.
- Ni är klara! Azure DevOps Server använder nu de lokala filerna när agenterna uppdateras. Varje agent uppdateras automatiskt när den kör en uppgift som kräver en nyare version av agenten. Men om du vill uppdatera vissa agenter manuellt högerklickar du på poolen och väljer sedan Uppdatera alla agenter.
Var kan jag lära mig mer om hur den startade tjänsten fungerar?
Apple Developer Library: Skapa lanseringsdemoner och agenter
Jag kör en brandvägg och min kod finns i Azure Repos. Vilka URL:er behöver agenten kommunicera med?
Om du kör en agent i ett säkert nätverk bakom en brandvägg kontrollerar du att agenten kan initiera kommunikation med följande URL:er och IP-adresser.
Domän-URL | Beskrivning |
---|---|
https://{organization_name}.pkgs.visualstudio.com |
Azure DevOps Packaging API för organisationer som använder domänen {organization_name}.visualstudio.com |
https://{organization_name}.visualstudio.com |
För organisationer som använder {organization_name}.visualstudio.com -domänen |
https://{organization_name}.vsblob.visualstudio.com |
Azure DevOps-telemetri för organisationer som använder domänen {organization_name}.visualstudio.com |
https://{organization_name}.vsrm.visualstudio.com |
Versionshanteringstjänster för organisationer som använder domänen {organization_name}.visualstudio.com |
https://{organization_name}.vssps.visualstudio.com |
Azure DevOps Platform Services för organisationer som använder domänen {organization_name}.visualstudio.com |
https://{organization_name}.vstmr.visualstudio.com |
Azure DevOps Test Management Services för organisationer som använder {organization_name}.visualstudio.com -domänen |
https://*.blob.core.windows.net |
Azure Artifacts |
https://*.dev.azure.com |
För organisationer som använder dev.azure.com -domänen |
https://*.vsassets.io |
Azure Artifacts via CDN |
https://*.vsblob.visualstudio.com |
Azure DevOps-telemetri för organisationer som använder domänen dev.azure.com |
https://*.vssps.visualstudio.com |
Azure DevOps Platform Services för organisationer som använder domänen dev.azure.com |
https://*.vstmr.visualstudio.com |
Azure DevOps Test Management Services för organisationer som använder dev.azure.com -domänen |
https://app.vssps.visualstudio.com |
För organisationer som använder {organization_name}.visualstudio.com -domänen |
https://dev.azure.com |
För organisationer som använder dev.azure.com -domänen |
https://login.microsoftonline.com |
Microsoft Entra-inloggning |
https://management.core.windows.net |
Api:er för Azure Management |
https://vstsagentpackage.azureedge.net |
Agentpaket |
Se till att din organisation fungerar med befintliga brandväggs- eller IP-begränsningar genom att se till att dev.azure.com
och *dev.azure.com
är öppna och uppdatera dina tillåtna IP-adresser så att de innehåller följande IP-adresser baserat på din IP-version. Om du för närvarande vitlistar IP-adresserna 13.107.6.183
och 13.107.9.183
, låt dem vara kvar eftersom du inte behöver ta bort dem.
IPv4-intervall
13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
IPv6-intervall
2620:1ec:4::/48
2620:1ec:a92::/48
2620:1ec:21::/48
2620:1ec:22::/48
Not
Mer information om tillåtna adresser finns i Tillåtna adresslistor och nätverksanslutningar.
Hur kör jag agenten med självsignerat certifikat?
Kör agenten med självsignerat certifikat
Hur kör jag agenten bakom en webbproxy?
Kör agenten bakom en webbproxy
Hur startar jag om agenten
Om du kör agenten interaktivt kan du läsa omstartsinstruktionerna i Kör interaktivt. Om du kör agenten som en tjänst, följ då stegen för att stoppa och sedan starta agenten.
Hur konfigurerar jag agenten för att kringgå en webbproxy och ansluta till Azure Pipelines?
Om du vill att agenten ska kringgå proxyn och ansluta direkt till Azure Pipelines bör du konfigurera webbproxyn så att agenten får åtkomst till följande URL:er.
För organisationer som använder *.visualstudio.com
domän:
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
För organisationer som använder dev.azure.com
domän:
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
Se till att din organisation fungerar med befintliga brandväggs- eller IP-begränsningar genom att se till att dev.azure.com
och *dev.azure.com
är öppna och uppdatera dina tillåtna IP-adresser så att de innehåller följande IP-adresser baserat på din IP-version. Om du för närvarande vitlistar IP-adresserna 13.107.6.183
och 13.107.9.183
, lämna dem som de är eftersom du inte behöver ta bort dem.
IPv4-intervall
13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
IPv6-intervall
2620:1ec:4::/48
2620:1ec:a92::/48
2620:1ec:21::/48
2620:1ec:22::/48
Not
Med den här proceduren kan agenten kringgå en webbproxy. Byggpipelinen och skripten måste fortfarande hantera att kringgå webbproxyn för varje uppgift och verktyg som du kör i din byggprocess.
Om du till exempel använder en NuGet-uppgift måste du konfigurera webbproxyn så att den stöder att url:en kringgås för den server som är värd för NuGet-feeden som du använder.
Jag använder TFS och URL:erna i avsnitten ovan fungerar inte för mig. Var kan jag få hjälp?
Jag använder TFS lokalt och jag ser inte några av dessa funktioner. Varför inte?
Vissa av dessa funktioner är endast tillgängliga på Azure Pipelines och ännu inte tillgängliga lokalt. Vissa funktioner är tillgängliga lokalt om du har uppgraderat till den senaste versionen av TFS.
FÖRUTSÄTTNINGAR FÖR TFVC
Om du ska använda TFVC behöver du även Oracle Java JDK 1.6 eller senare. (Oracle JRE och OpenJDK räcker inte för det här ändamålet.)
TEE-plugin- används för TFVC-funktioner. Det har ett licensavtal som du måste godkänna under konfigurationen om du planerar att arbeta med TFVC.
Eftersom TEE-plugin-programmet inte längre underhålls och innehåller några inaktuella Java-beroenden, från agent 2.198.0 ingår det inte längre i agentdistributionen. TEE-plugin laddas dock ned under utförandet av utcheckningsuppgiften om du checkar ut ett TFVC-repo. TEE-pluginet tas bort efter körningen av jobbet.
Not
Obs! Du kanske märker att din utcheckning tar lång tid att komma igång på grund av den här nedladdningsmekanismen.
Om agenten körs bakom en proxy eller en brandvägg måste du godkänna för att säkerställa åtkomst till följande webbplats: https://vstsagenttools.blob.core.windows.net/
. PLUGIN-programmet TEE laddas ned från den här adressen.
Om du använder en lokalt installerad agent och har problem med tee-nedladdning kan du installera TEE manuellt:
- Ange
DISABLE_TEE_PLUGIN_REMOVAL
miljö- eller pipelinevariabel tilltrue
. Den här variabeln hindrar agenten från att ta bort TEE-plugin efter utcheckning av TFVC-förrådet. - Ladda ned TEE-CLC version 14.135.0 manuellt från Team Explorer Everywhere GitHub-releaser.
- Extrahera innehållet i
TEE-CLC-14.135.0
mapp till<agent_directory>/externals/tee
.