Saját üzemeltetésű Windows-ügynökök
Azure DevOps Services
A Windows, az Azure és más Visual Studio-megoldások létrehozásához és üzembe helyezéséhez legalább egy Windows-ügynökre lesz szüksége. A Windows-ügynökök Java- és Android-alkalmazásokat is készíthetnek.
Ez a cikk útmutatást nyújt a 3.x ügynökszoftvernek az Azure DevOps Services szolgáltatással és az Azure DevOps Server aktuális verzióival való használatához. A 3.x ügynököt támogató Azure DevOps Server-verziók listáját lásd: Támogatja-e az Azure DevOps Server a 3.x ügynököt.
Feljegyzés
Ez a cikk bemutatja, hogyan konfigurálhat saját üzemeltetésű ügynököt. Ha az Azure DevOps Servicest használja, és a Microsoft által üzemeltetett ügynök megfelel az igényeinek, kihagyhatja a saját üzemeltetésű Windows-ügynök beállítását.
Tudnivalók az ügynökökről
Ha már tudja, mi az ügynök, és hogyan működik, nyugodtan ugorjon a következő szakaszokba. Ha azonban további háttérre van szüksége a működésükről és működésükről, tekintse meg az Azure Pipelines-ügynököket.
Előfeltételek ellenőrzése
Győződjön meg arról, hogy a gép rendelkezik az alábbi előfeltételekkel:
- Operációs rendszer verziója
- Ügyfél operációs rendszere
- Windows 7 SP1 ESU
- Windows 8.1
- Windows 10
- Windows 11
- Kiszolgáló operációs rendszere
- Windows Server 2012 vagy újabb
- Ügyfél operációs rendszere
- Az ügynökszoftver telepíti a .NET saját verzióját, így nincs .NET-előfeltétel.
- PowerShell 3.0 vagy újabb
- Subversion – Ha egy Subversion-adattárból készül, telepítenie kell a Subversion-ügyfelet a gépre.
- Ajánlott – Visual Studio buildelési eszközök (2015-ös vagy újabb verzió)
Először manuálisan kell futtatnia az ügynökbeállítást. Miután érezte, hogyan működnek az ügynökök, vagy ha több ügynök beállítását szeretné automatizálni, fontolja meg a felügyelet nélküli konfiguráció használatát.
Hardveres specifikációk
Az ügynökök hardveres specifikációi az igényeitől, a csapat méretétől stb. függően változnak. Nem lehet olyan általános javaslatot tenni, amely mindenkire vonatkozni fog. Referenciaként az Azure DevOps csapata az üzemeltetett ügynökök kódját üzemeltetett ügynököket használó folyamatok használatával hozza létre. Másrészt az Azure DevOps-kód nagy részét 24 magos kiszolgálóosztályú gépek készítik, és négy saját üzemeltetésű ügynököt futtatnak.
Engedélyek előkészítése
A saját üzemeltetésű ügynökök információbiztonsága
Az ügynököt konfiguráló felhasználónak készletadminisztrátori engedélyekre van szüksége, de az ügynököt futtató felhasználó nem.
Az ügynök által felügyelt mappákat a lehető legkevesebb felhasználóra kell korlátozni, mert olyan titkos kulcsokat tartalmaznak, amelyek visszafejthetők vagy kiszúrhatók.
Az Azure Pipelines-ügynök egy olyan szoftvertermék, amelyet külső forrásokból letöltött kód végrehajtására terveztek. Ez eredendően a távoli kódvégrehajtási (RCE) támadások célpontja lehet.
Ezért fontos figyelembe venni a folyamatügynökök minden egyes, a munka elvégzéséhez szükséges egyéni használatát körülvevő fenyegetésmodellt, és el kell döntenie, hogy milyen minimális engedélyek adhatóak az ügynököt futtató felhasználónak, a gépnek, ahol az ügynök fut, azoknak a felhasználóknak, akik írási hozzáféréssel rendelkeznek a Folyamatdefinícióhoz, a git-adattárhoz, ahol a yaml tárolódik, vagy azon felhasználók csoportja, akik az új folyamatok készlethez való hozzáférését szabályozzák.
Ajánlott eljárás, ha az ügynököt futtató identitás nem azonos az ügynök készlethez való csatlakoztatásához szükséges engedélyekkel. A hitelesítő adatokat (és más ügynökkel kapcsolatos fájlokat) létrehozó felhasználó eltér az elolvasni kívánt felhasználótól. Ezért biztonságosabb alaposan megfontolni az ügynökgép számára biztosított hozzáférést, valamint a bizalmas fájlokat, például naplókat és összetevőket tartalmazó ügynökmappákat.
Érdemes csak a DevOps-rendszergazdák és az ügynökfolyamatot futtató felhasználói identitás számára hozzáférést biztosítani az ügynökmappához. Előfordulhat, hogy a rendszergazdáknak ki kell vizsgálniuk a fájlrendszert a buildelési hibák megértéséhez, vagy naplófájlokat kell lekérni az Azure DevOps-hibák jelentéséhez.
Döntse el, hogy melyik felhasználót fogja használni
Egyszeri lépésként regisztrálnia kell az ügynököt. Az ügynöki üzenetsor felügyeletére jogosult személynek végre kell hajtania ezeket a lépéseket. Az ügynök nem fogja használni a személy hitelesítő adatait a mindennapi működés során, de a regisztráció elvégzéséhez szükséges. További információ az ügynökök kommunikációjáról.
Győződjön meg arról, hogy a felhasználó rendelkezik engedéllyel
Győződjön meg arról, hogy a használni kívánt felhasználói fiók rendelkezik engedéllyel az ügynök regisztrálásához.
A felhasználó Azure DevOps-szervezet tulajdonosa, TFS vagy Azure DevOps Server-rendszergazda? Itt állj meg, van engedélye.
Egyébként:
Nyisson meg egy böngészőt, és lépjen az Azure Pipelines-szervezet, az Azure DevOps Server vagy a TFS-kiszolgáló Ügynökkészletek lapjára:
Jelentkezzen be a szervezetbe (
https://dev.azure.com/{yourorganization}
).Válassza az Azure DevOps szervezeti beállításait.
Válassza az Ügynökkészletek lehetőséget.
Jelentkezzen be a projektgyűjteménybe (
http://your-server/DefaultCollection
).Válassza az Azure DevOps gyűjteménybeállításait.
Válassza az Ügynökkészletek lehetőséget.
Válassza az Azure DevOps gyűjteménybeállításait.
Válassza az Ügynökkészletek lehetőséget.
Jelölje ki a készletet a lap jobb oldalán, majd kattintson a Biztonság gombra.
Ha a használni kívánt felhasználói fiók nem jelenik meg, kérje meg a rendszergazdát, hogy vegye fel. A rendszergazda lehet ügynökkészlet-rendszergazda, Azure DevOps-szervezet tulajdonosa, TFS vagy Azure DevOps Server-rendszergazda.
Ha üzembehelyezési csoport ügynök, a rendszergazda lehet üzembehelyezési csoport rendszergazdája, Azure DevOps-szervezet tulajdonosa, TFS- vagy Azure DevOps Server-rendszergazda.
Az Azure Pipelines Üzembe helyezési csoportok lapJának Biztonság lapján hozzáadhat egy felhasználót az üzembehelyezési csoport rendszergazdai szerepköréhez.
Feljegyzés
Ha a következőhöz hasonló üzenet jelenik meg: Sajnáljuk, nem sikerült hozzáadni az identitást. Próbálkozzon egy másik identitással. Valószínűleg követte a fenti lépéseket egy szervezettulajdonos, a TFS vagy az Azure DevOps Server rendszergazdája esetében. Nem kell semmit tennie; már rendelkezik engedéllyel az ügynökkészlet felügyeletéhez.
Az ügynök letöltése és konfigurálása
Azure Pipelines
Jelentkezzen be a gépre azzal a fiókkal, amelyhez a fent ismertetett módon engedélyeket készített.
A webböngészőben jelentkezzen be az Azure Pipelinesba, és lépjen az Ügynökkészletek lapra:
Jelentkezzen be a szervezetbe (
https://dev.azure.com/{yourorganization}
).Válassza az Azure DevOps szervezeti beállításait.
Válassza az Ügynökkészletek lehetőséget.
Jelentkezzen be a projektgyűjteménybe (
http://your-server/DefaultCollection
).Válassza az Azure DevOps gyűjteménybeállításait.
Válassza az Ügynökkészletek lehetőséget.
Válassza az Azure DevOps gyűjteménybeállításait.
Válassza az Ügynökkészletek lehetőséget.
Válassza az Alapértelmezett készletet, válassza az Ügynökök lapot, majd az Új ügynök lehetőséget.
Az Ügynök lekérése párbeszédpanelen válassza a Windows lehetőséget.
A bal oldali panelen válassza ki a számítógépen telepített Windows OPERÁCIÓS-verzió processzorarchitektúráját. Az x64-ügynök verziója 64 bites Windowshoz készült, míg az x86-os verzió a 32 bites Windowshoz készült. Ha nem biztos abban, hogy a Windows melyik verziója van telepítve, az alábbi útmutatást követve megtudhatja.
A jobb oldali panelen kattintson a Letöltés gombra.
Az ügynök letöltéséhez kövesse az oldalon található utasításokat.
Csomagolja ki az ügynököt a választott könyvtárba. Győződjön meg arról, hogy a könyvtár elérési útja nem tartalmaz szóközöket, mert az eszközök és szkriptek nem mindig menekülnek megfelelően a szóközök elől. Az ajánlott mappa a .
C:\agents
A letöltési mappában vagy más felhasználói mappákban való kinyerés engedélyproblémákat okozhat.
Fontos
Határozottan javasoljuk, hogy konfigurálja az ügynököt egy emelt szintű PowerShell-ablakból. Ha szolgáltatásként szeretne konfigurálni, ez szükséges.
Az ügynök konfigurálásához ne használja a Windows PowerShell ISE-t .
Fontos
Biztonsági okokból javasoljuk, hogy győződjön meg arról, hogy az ügynökmappát (C:\agents
) csak a rendszergazdák szerkeszthetik.
Feljegyzés
Az ügynökkonfigurációhoz ne használjon mentaalapú felületeket, például git-basht. A Mentty nem teljes mértékben kompatibilis a natív Input/Output Windows API-val (erről itt talál néhány információt), és nem tudjuk garantálni, hogy a telepítő szkript ebben az esetben megfelelően működjön.
Az ügynök telepítése
Indítson el egy emelt szintű (PowerShell-) ablakot, és állítsa be az ügynök kicsomagolásának helyét.
cd C:\agents
Futtassa az
config.cmd
parancsot. Ez kérdések sorozatát fogja feltenni az ügynök konfigurálásához..\config.cmd
Kiszolgáló URL-címe
Amikor a telepítő a kiszolgáló URL-címét kéri az Azure DevOps Serviceshez, válaszoljon https://dev.azure.com/{your-organization}
.
Amikor a telepítő a kiszolgáló URL-címét kéri, az Azure DevOps Server esetében válaszoljon https://{my-server}/{my-collection}
.
Ügynökbeállítás hitelesítési típusa
Ügynök regisztrálásakor válasszon a következő hitelesítési típusok közül, és a beállítás az egyes hitelesítési típusokhoz szükséges további információkat kéri. További információ: Saját üzemeltetésű ügynökhitelesítési lehetőségek.
- Személyes hozzáférési jogkivonat
- Alternatív csatlakozás az Azure DevOps Serverhez vagy a TFS-hez alapszintű hitelesítéssel. Amikor kiválasztja az Alternatív lehetőséget , a rendszer kérni fogja a hitelesítő adatait.
A Windows-ügynökök az alábbi két további hitelesítési lehetőséggel rendelkeznek az Azure DevOps Serveren és a TFS-en.
- A TFS-hez való csatlakozás egyeztetése a bejelentkezett felhasználótól eltérő felhasználóként windowsos hitelesítési sémán keresztül, például NTLM-en vagy Kerberoson keresztül. Miután kiválasztotta az Egyeztetés lehetőséget, a rendszer kérni fogja a hitelesítő adatokat.
- Integrált (alapértelmezett) Windows-ügynök csatlakoztatása a TFS-hez a bejelentkezett felhasználó hitelesítő adataival egy Windows-hitelesítési sémán keresztül, például NTLM vagy Kerberos használatával. A metódus kiválasztása után a rendszer nem kéri a hitelesítő adatokat.
Fontos
A kiszolgálót úgy kell konfigurálni, hogy támogassa a hitelesítési módszert az alternatív, egyeztetési vagy integrált hitelesítés használatához.
Az ügynök regisztrálásához használt hitelesítési módszer csak az ügynökregisztráció során használatos. Ha többet szeretne megtudni arról, hogy az ügynökök hogyan kommunikálnak az Azure Pipelines szolgáltatással a regisztráció után, tekintse meg az Azure Pipelinessal vagy a TFS-szel való kommunikációt ismertető témakört.
Interaktív vagy szolgáltatási mód kiválasztása
Az ügynök interaktív módban vagy szolgáltatásként való futtatásával kapcsolatos útmutatásért tekintse meg az Ügynökök: Interaktív és szolgáltatás című témakört.
Ha úgy dönt, hogy szolgáltatásként fut (ezt javasoljuk), a futtatott felhasználónévnek 20 karakternek vagy kevesebbnek kell lennie.
Az ügynök futtatása
Interaktív futtatás
Ha úgy konfigurálta az ügynököt, hogy interaktívan fusson, futtassa az alábbi parancsot az ügynök elindításához.
.\run.cmd
Az ügynök újraindításához nyomja le a Ctrl+C billentyűkombinációt az ügynök leállításához, majd futtassa run.cmd
az újraindításhoz.
Feljegyzés
Ha az ügynököt a PowerShell Core-ból futtatja a Windows PowerShell-feladatok végrehajtásához, előfordulhat, hogy a folyamat meghiúsul egy olyan hibával, mint a Error in TypeData "System.Security.AccessControl.ObjectSecurity": The member is already present
. Ennek az az oka, hogy a Windows PowerShell örökli a PSModulePath
környezeti változót, amely a PowerShell Core-modul helyeit is tartalmazza a szülőfolyamatból.
Áthidaló megoldásként beállíthatja az ügynök gombját AZP_AGENT_CLEANUP_PSMODULES_IN_POWERSHELL
true
a folyamatban. Ez lehetővé teszi az ügynök alaphelyzetbe állítását PSModulePath
a feladatok végrehajtása előtt.
variables:
AZP_AGENT_CLEANUP_PSMODULES_IN_POWERSHELL: "true"
Ha ez a kerülő megoldás nem oldja meg a problémát, vagy ha egyéni modulhelyeket kell használnia, az ügynök futtatása előtt igény szerint beállíthatja a $Env:PSModulePath
változót a PowerShell Core-ablakban.
Futtatás egyszer
Azt is beállíthatja, hogy az ügynök csak egy feladatot fogadjon el, majd lépjen ki. Ha ebben a konfigurációban szeretne futni, használja az alábbi parancsot.
.\run.cmd --once
Az ebben a módban lévő ügynökök csak egy feladatot fogadnak el, majd kecsesen pörögnek le (ez hasznos lehet a Dockerben egy olyan szolgáltatáson, mint az Azure Container Instances).
Futtatás szolgáltatásként
Ha úgy konfigurálta az ügynököt, hogy szolgáltatásként fusson, az automatikusan elindul. A szolgáltatások beépülő modulból megtekintheti és szabályozhatja a futó ügynök állapotát. Futtassa services.msc
és keresse meg az alábbiak egyikét:
- "Azure Pipelines-ügynök (az ügynök neve)"
- "VSTS-ügynök (az ügynök neve)"
- "vstsagent. (szervezet neve). (az ügynök neve)"
Feljegyzés
A szolgáltatásként futó ügynökök hozzáférés-vezérlésének nagyobb rugalmassága érdekében az ügynökszolgáltatás SID-típusát [SERVICE_SID_TYPE_UNRESTRICTED
] jelölővel vagy kéréssel lehet beállítani az interaktív konfigurációs folyamat során.
Alapértelmezés szerint az ügynökszolgáltatás konfigurálva van a következővel SERVICE_SID_TYPE_NONE
: .
A SID-típusokkal kapcsolatos további részletekért tekintse meg ezt a dokumentációt.
Az ügynök újraindításához kattintson a jobb gombbal a bejegyzésre, és válassza az Újraindítás parancsot.
Feljegyzés
Ha módosítania kell az ügynök bejelentkezési fiókját, ne tegye azt a Szolgáltatások beépülő modulból. Ehelyett tekintse meg az alábbi információkat az ügynök újrakonfigurálásához.
Az ügynök használatához futtasson egy feladatot az ügynök készletével. Ha nem választott másik készletet, az ügynök az Alapértelmezett készletben lesz.
Ügynök cseréje
Az ügynök cseréjéhez kövesse a Letöltés elemet, és konfigurálja újra az ügynök lépéseit.
Ha a már létező ügynök nevével megegyező néven konfigurál egy ügynököt, a rendszer megkérdezi, hogy szeretné-e lecserélni a meglévő ügynököt. Ha válaszol Y
, távolítsa el a lecserélt ügynököt (lásd alább). Ellenkező esetben néhány percnyi ütközés után az egyik ügynök leáll.
Ügynök eltávolítása és újrakonfigurálálása
Az ügynök eltávolítása:
.\config remove
Miután eltávolította az ügynököt, újra konfigurálhatja.
Felügyelet nélküli konfiguráció
Az ügynök emberi beavatkozás nélkül is beállítható szkriptből.
Át kell adnia --unattended
a válaszokat az összes kérdésre.
Az ügynök konfigurálásához ismernie kell a szervezet url-címét, illetve az ügynökök beállítására jogosult személy gyűjteményét és hitelesítő adatait.
Az összes többi válasz megadása nem kötelező.
Bármely parancssori paraméter megadható helyette egy környezeti változóval: írja be a nevét nagybetűsre, és írja elő.VSTS_AGENT_INPUT_
Például a VSTS_AGENT_INPUT_PASSWORD
beállítás --password
helyett.
Kötelező beállítások
--unattended
- az ügynök beállítása nem kér információt, és minden beállítást meg kell adni a parancssorban--url <url>
- A kiszolgáló URL-címe. Például: https://dev.azure.com/myorganization vagy http://my-azure-devops-server:8080/tfs--auth <type>
- hitelesítési típus. Az érvényes értékek a következők:pat
(Személyes hozzáférési jogkivonat)SP
(Szolgáltatásnév) (Az ügynök 3.227.1-es vagy újabb verzióját igényli)negotiate
(Kerberos vagy NTLM)alt
(Alapszintű hitelesítés)integrated
(A Windows alapértelmezett hitelesítő adatai)
Hitelesítési lehetőségek
- Ha a következőt választotta
--auth pat
:--token <token>
- megadja a személyes hozzáférési jogkivonatot- Paraméterként
--token
OAuth 2.0-jogkivonatot is átadhat.
- Ha a következőt választotta,
--auth negotiate
vagy--auth alt
:--userName <userName>
- a Windows-felhasználónevet a következő formátumbandomain\userName
adja meg:userName@domain.com
--password <password>
- jelszót ad meg
- Ha a következőt választotta
--auth SP
:--clientID <clientID>
- megadja a szolgáltatásnév ügyfél-azonosítóját az ügynökök regisztrálásához való hozzáféréssel--tenantId <tenantID>
- megadja azt a bérlőazonosítót, amelyben a szolgáltatásnév regisztrálva van--clientSecret <clientSecret>
- megadja a szolgáltatásnév ügyféltitkát- További információ: Ügynök regisztrálása szolgáltatásnév használatával
Készlet- és ügynöknevek
--pool <pool>
- a csatlakozni kívánt ügynök készletneve--agent <agent>
- ügynök neve--replace
- cserélje le az ügynököt egy készletben. Ha egy másik ügynök ugyanazzal a névvel figyel, ütközéssel fog meghiúsulni
Ügynök beállítása
--work <workDirectory>
- munkakönyvtár, ahol a feladatadatok tárolódnak. Alapértelmezés szerint_work
az ügynökkönyvtár gyökeréhez tartozik. A munkakönyvtár egy adott ügynök tulajdonában van, és nem osztható meg több ügynök között.--acceptTeeEula
- fogadja el a Team Explorer Mindenhol végfelhasználói licencszerződést (csak macOS és Linux rendszeren)--disableloguploads
- ne streamelje vagy küldje el a konzolnapló kimenetét a kiszolgálónak. Ehelyett lekérheti őket az ügynök gazdagép fájlrendszeréből a feladat befejezése után.
Csak Windows rendszerű indítás
--runAsService
– konfigurálja az ügynököt Windows-szolgáltatásként való futtatásra (rendszergazdai engedély szükséges)--runAsAutoLogon
– automatikus bejelentkezés konfigurálása és az ügynök futtatása indításkor (rendszergazdai engedély szükséges)--windowsLogonAccount <account>
- a Windows-felhasználónév formátumában--runAsService
vagy megadásáradomain\userName
szolgál, vagy--runAsAutoLogon
userName@domain.com
--windowsLogonPassword <password>
- a Windows bejelentkezési jelszavával--runAsService
vagy--runAsAutoLogon
megadásával használható (a csoportosan felügyelt szolgáltatásfiókokhoz és az olyan beépített Windows-fiókokhoz, mint az NT AUTHORITY\NETWORK SERVICE)--enableservicesidtypeunrestricted
- az ügynök szolgáltatás SID-típussalSERVICE_SID_TYPE_UNRESTRICTED
való konfigurálásához használható--runAsService
(rendszergazdai engedély szükséges)--overwriteAutoLogon
- a--runAsAutoLogon
meglévő automatikus bejelentkezés felülírására szolgál a gépen--noRestart
- a--runAsAutoLogon
gazdagép újraindításának leállítására szolgál az ügynökkonfiguráció befejezése után
Az ügynök beállítással történő konfigurálásának hibaelhárítása runAsAutoLogon
Az ügynök beállítással runAsAutoLogon
való konfigurálása minden alkalommal futtatja az ügynököt a gép újraindítása után.
Hajtsa végre a következő lépéseket, ha az ügynök nem fut a gép újraindítása után.
Ha az ügynök már konfigurálva van a gépen
Az ügynök újrakonfigurálása előtt el kell távolítani a régi ügynökkonfigurációt, ezért próbálja meg futtatni ezt a parancsot az ügynökmappából:
.\config.cmd remove --auth 'PAT' --token '<token>'
Ellenőrizze, hogy az ügynök el lett-e távolítva az ügynökkészletből a parancs végrehajtása után:
<Azure DevOps organization> / <Project> / Settings / Agent pools / <Agent Pool> / Agents
Távolítsa el manuálisan az ügynököt az ügynökkészletből, ha az nem lett eltávolítva a parancs futtatásával.
Ezután próbálja meg újra konfigurálni az ügynököt úgy, hogy az ügynökmappából futtatja a következő parancsot:
.\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>'
Adja meg az ügynök nevét (bármilyen egyedi nevet), és ellenőrizze, hogy az ügynök megjelent-e az ügynökkészletben az újrakonfigurálás után.
Sokkal jobb lesz kicsomagolni egy ügynökarchívumot (amely innen tölthető le), és futtatni ezt a parancsot az új kicsomagolt ügynökmappából.
Ellenőrizze, hogy a Windows beállításkulcsa helyesen van-e rögzítve és mentve
Futtassa a whoami /user
parancsot a parancs lekéréséhez <sid>
. Nyissa meg Registry Editor
és kövesse az elérési utat:
Computer\HKEY_USERS\<sid>\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Ellenőrizze, hogy van-e kulcs VSTSAgent
. Ha létezik, törölje ezt a kulcsot, majd zárja be Registry Editor
és konfigurálja az ügynököt az ügynökmappából a .\config.cmd
parancs (args nélkül) futtatásával. A kérdés Enter Restart the machine at a later time?
megválaszolása előtt nyissa meg Registry Editor
újra, és ellenőrizze, hogy megjelent-e a VSTSAgent
kulcs. Nyomja le Enter
a választ a kérdésre, és ellenőrizze, hogy a kulcs a VSTSAgent
helyén marad-e a gép újraindítása után.
Ellenőrizze, hogy a Windows beállításkulcsai jól működnek-e a számítógépen
Hozzon létre egy autorun.cmd
fájlt, amely a következő sort tartalmazza: echo "Hello from AutoRun!"
.
Nyisson meg Registry Editor
és hozzon létre egy új kulcs-érték pár fölötti elérési úton a kulccsal AutoRun
és az értékkel
C:\windows\system32\cmd.exe /D /S /C start "AutoRun" "D:\path\to\autorun.cmd"
Indítsa újra a gépet. Probléma merült fel a Windows beállításkulcsaival kapcsolatban, ha nem jelenik meg az Hello from AutoRun!
üzenethez tartozó konzolablak.
Csak üzembehelyezési csoport
--deploymentGroup
- konfigurálja az ügynököt üzembehelyezési csoport ügynökeként--deploymentGroupName <name>
- a--deploymentGroup
csatlakoztatni kívánt ügynök üzembehelyezési csoportjának megadására szolgál--projectName <name>
- a projekt nevének beállításához--deploymentGroup
használatos--addDeploymentGroupTags
- az üzembehelyezési csoport címkéinek hozzáadásának jelzésére--deploymentGroup
szolgál--deploymentGroupTags <tags>
- az üzembehelyezési csoport ügynöke címkéinek vesszővel--addDeploymentGroupTags
tagolt listájának megadásával használható – például "web, db"
Csak környezetek
--addvirtualmachineresourcetags
- azt jelzi, hogy a környezeti erőforráscímkéket hozzá kell adni--virtualmachineresourcetags <tags>
- a környezeti erőforrás-ügynök címkéinek vesszővel--addvirtualmachineresourcetags
tagolt listájának megadásával használható – például "web, db"
.\config --help
mindig felsorolja a legújabb szükséges és választható válaszokat.
Diagnosztika
Ha problémába ütközik a saját üzemeltetésű ügynökével, próbálja meg futtatni a diagnosztikát. Az ügynök konfigurálása után:
.\run --diagnostics
Ez egy diagnosztikai csomagon fog keresztülfutni, amely segíthet a probléma elhárításában. A diagnosztikai funkció az ügynök 2.165.0-s verziójától kezdve érhető el.
Hálózati diagnosztika saját üzemeltetésű ügynökökhöz
Adja meg az érték értékét Agent.Diagnostic
, true
hogy további naplókat gyűjtsön, amelyek a saját üzemeltetésű ügynökök hálózati problémáinak elhárításához használhatók. További információ: Hálózati diagnosztika saját üzemeltetésű ügynökökhöz
Súgó más beállításokhoz
További lehetőségek:
.\config --help
A súgó tájékoztatást nyújt a hitelesítési alternatívákról és a felügyelet nélküli konfigurációról.
Képességek
Az ügynök képességei katalógusba vannak sorolva és meghirdetve a készletben, így csak a kezelni kívánt buildek és kiadások lesznek hozzá rendelve. Tekintse meg a buildelési és kiadási ügynök képességeit.
Az ügynök üzembe helyezése után sok esetben szoftvereket vagy segédprogramokat kell telepítenie. Általában az ügynökökre kell telepítenie a fejlesztőgépen használt szoftvereket és eszközöket.
Ha például a build tartalmazza az npm feladatot, akkor a build csak akkor fut, ha van egy buildügynök a készletben, amelyen telepítve van az npm.
Fontos
A képességek közé tartozik az összes környezeti változó és az ügynök futtatásakor beállított értékek. Ha ezen értékek bármelyike megváltozik az ügynök futása közben, az ügynököt újra kell indítani az új értékek felvételéhez. Miután telepítette az új szoftvert egy ügynökre, újra kell indítania az ügynököt, hogy az új képesség megjelenjen a készletben, hogy a build futhassa.
Ha ki szeretné zárni a környezeti változókat képességekként, kijelölheti őket úgy, hogy beállít egy környezeti változót VSO_AGENT_IGNORE
a figyelmen kívül hagyandó változók vesszővel tagolt listájával.
GYIK
A Git melyik verzióját futtatja az ügynököm?
A Windows-ügynök alapértelmezés szerint az ügynökszoftverhez csomagolt Git-verziót használja. A Microsoft azt javasolja, hogy használja az ügynökkel együtt csomagolt Git-verziót, de számos lehetősége van az alapértelmezett viselkedés felülbírálására, és a Git azon verziójának használatára, amelyet az ügynökgép telepített az útvonalon.
- Állítson be egy folyamatváltozót, amely a
true
folyamatokban szerepelSystem.PreferGitFromPath
. - A saját üzemeltetésű ügynökökben létrehozhat egy .env nevű fájlt az ügynök gyökérkönyvtárában, és hozzáadhat egy
System.PreferGitFromPath=true
sort a fájlhoz. További információ: Hogyan különböző környezeti változókat állíthat be az egyes ügynökökhöz?
A folyamat által használt Git-verzió megtekintéséhez megtekintheti a folyamat egy checkout
lépésének naplóit, ahogyan az az alábbi példában is látható.
Syncing repository: PathFilter (Git)
Prepending Path environment variable with directory containing 'git.exe'.
git version
git version 2.26.2.windows.1
Hogyan győződjön meg arról, hogy a legújabb ügynökverzióval rendelkezem?
Lépjen az Ügynökkészletek lapra:
Jelentkezzen be a szervezetbe (
https://dev.azure.com/{yourorganization}
).Válassza az Azure DevOps szervezeti beállításait.
Válassza az Ügynökkészletek lehetőséget.
Jelentkezzen be a projektgyűjteménybe (
http://your-server/DefaultCollection
).Válassza az Azure DevOps gyűjteménybeállításait.
Válassza az Ügynökkészletek lehetőséget.
Válassza az Azure DevOps gyűjteménybeállításait.
Válassza az Ügynökkészletek lehetőséget.
Kattintson az ügynököt tartalmazó készletre.
Győződjön meg arról, hogy az ügynök engedélyezve van.
Lépjen a Képességek lapra:
Az Ügynökkészletek lapon válassza ki a kívánt ügynökkészletet.
Válassza ki az Ügynökök lehetőséget, és válassza ki a kívánt ügynököt.
Válassza a Képességek lapot.
Feljegyzés
A Microsoft által üzemeltetett ügynökök nem jelenítik meg a rendszer képességeit. A Microsoft által üzemeltetett ügynökökre telepített szoftverek listáját a Microsoft által üzemeltetett ügynök használata című témakörben találja.
Az Ügynökkészletek lapon válassza ki a kívánt készletet.
Válassza ki az Ügynökök lehetőséget, és válassza ki a kívánt ügynököt.
Válassza a Képességek lapot.
Az Ügynökkészletek lapon válassza ki a kívánt készletet.
Válassza ki az Ügynökök lehetőséget, és válassza ki a kívánt ügynököt.
Válassza a Képességek lapot.
Keresse meg a
Agent.Version
képességet. Ezt az értéket a legújabb közzétett ügynökverzióval ellenőrizheti. Tekintse meg az Azure Pipelines-ügynököt , és ellenőrizze a listán szereplő legmagasabb verziószámot.Minden ügynök automatikusan frissíti magát, amikor olyan feladatot futtat, amely az ügynök újabb verzióját igényli. Ha manuálisan szeretne frissíteni néhány ügynököt, kattintson a jobb gombbal a készletre, és válassza az Összes ügynök frissítése lehetőséget.
Frissíthetem az Azure DevOps Server-készlet részét képező ügynökeimet?
Igen. Az Azure DevOps Server 2019-től kezdve konfigurálhatja a kiszolgálót, hogy keresse meg az ügynökcsomag fájljait egy helyi lemezen. Ez a konfiguráció felülbírálja a kiszolgálóhoz a kiadás időpontjában kapott alapértelmezett verziót. Ez a forgatókönyv akkor is érvényes, ha a kiszolgáló nem rendelkezik internet-hozzáféréssel.
Internet-hozzáféréssel rendelkező számítógépről töltse le az ügynökcsomag-fájlok legújabb verzióját (.zip vagy .tar.gz formában) az Azure Pipelines Agent GitHub Releases oldaláról.
A letöltött csomagfájlok átvitele minden Azure DevOps Server-alkalmazásszintre egy tetszőleges módszerrel (például USB-meghajtó, hálózati átvitel stb.). Helyezze az ügynökfájlokat a következő mappába:
- Windows:
%ProgramData%\Microsoft\Azure DevOps\Agents
- Linux:
usr/share/Microsoft/Azure DevOps/Agents
- macOS:
usr/share/Microsoft/Azure DevOps/Agents
Hozza létre az Ügynökök mappát, ha nincs jelen.
- Minden be van állítva! Az Azure DevOps Server mostantól a helyi fájlokat fogja használni az ügynökök frissítésekor. Minden ügynök automatikusan frissíti magát, amikor olyan feladatot futtat, amely az ügynök újabb verzióját igényli. Ha azonban manuálisan szeretne frissíteni néhány ügynököt, kattintson a jobb gombbal a készletre, majd válassza az Összes ügynök frissítése lehetőséget.
Tűzfalat futtatok, és a kódom az Azure Reposban van. Milyen URL-címekkel kell kommunikálnia az ügynöknek?
Ha egy tűzfal mögött biztonságos hálózaton futtat ügynököt, győződjön meg arról, hogy az ügynök kezdeményezhet kommunikációt az alábbi URL-címekkel és IP-címekkel.
Tartomány URL-je | Leírás |
---|---|
https://{organization_name}.pkgs.visualstudio.com |
Azure DevOps Packaging API a {organization_name}.visualstudio.com tartományt használó szervezetek számára |
https://{organization_name}.visualstudio.com |
Tartományt {organization_name}.visualstudio.com használó szervezetek esetén |
https://{organization_name}.vsblob.visualstudio.com |
Azure DevOps-telemetria a tartományt {organization_name}.visualstudio.com használó szervezetek számára |
https://{organization_name}.vsrm.visualstudio.com |
Kiadáskezelési szolgáltatások a tartományt {organization_name}.visualstudio.com használó szervezetek számára |
https://{organization_name}.vssps.visualstudio.com |
Azure DevOps Platform Services a tartományt {organization_name}.visualstudio.com használó szervezetek számára |
https://{organization_name}.vstmr.visualstudio.com |
Azure DevOps Test Management Services a {organization_name}.visualstudio.com tartományt használó szervezetek számára |
https://*.blob.core.windows.net |
Azure Artifacts |
https://*.dev.azure.com |
Tartományt dev.azure.com használó szervezetek esetén |
https://*.vsassets.io |
Azure Artifacts a CDN-en keresztül |
https://*.vsblob.visualstudio.com |
Azure DevOps-telemetria a tartományt dev.azure.com használó szervezetek számára |
https://*.vssps.visualstudio.com |
Azure DevOps Platform Services a tartományt dev.azure.com használó szervezetek számára |
https://*.vstmr.visualstudio.com |
Azure DevOps Test Management Services a dev.azure.com tartományt használó szervezetek számára |
https://app.vssps.visualstudio.com |
Tartományt {organization_name}.visualstudio.com használó szervezetek esetén |
https://dev.azure.com |
Tartományt dev.azure.com használó szervezetek esetén |
https://login.microsoftonline.com |
Microsoft Entra-bejelentkezés |
https://management.core.windows.net |
Azure Management API-k |
https://vstsagentpackage.azureedge.net |
Ügynökcsomag |
Annak biztosítása érdekében, hogy a szervezet együttműködjön a meglévő tűzfal- vagy IP-korlátozásokkal, győződjön meg arról, hogy dev.azure.com
nyitva vannak, *dev.azure.com
és frissítik az engedélyezett IP-címeket, hogy az IP-verzió alapján az alábbi IP-címeket tartalmazzák. Ha jelenleg engedélyezve van az és az 13.107.6.183
13.107.9.183
IP-címek felsorolása, hagyja őket helyben, mivel nem kell eltávolítania őket.
IPv4-tartományok
13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
IPv6-tartományok
2620:1ec:4::/48
2620:1ec:a92::/48
2620:1ec:21::/48
2620:1ec:22::/48
Feljegyzés
További információ az engedélyezett címekről: Engedélyezett címlisták és hálózati kapcsolatok.
Hogyan önaláírt tanúsítvánnyal futtatja az ügynököt?
Feljegyzés
Az ügynök önaláírt tanúsítvánnyal való futtatása csak az Azure DevOps Serverre vonatkozik.
Az ügynök futtatása önaláírt tanúsítvánnyal
Hogyan webproxy mögött futtatja az ügynököt?
Az ügynök futtatása webproxy mögött
Hogyan indítsa újra az ügynököt
Ha interaktívan futtatja az ügynököt, tekintse meg a Futtatás interaktívan című témakör újraindítási utasításait. Ha szolgáltatásként futtatja az ügynököt, indítsa újra az ügynököt a Futtatás szolgáltatásként lépésekkel.
Hogyan különböző környezeti változókat beállítani minden egyes ügynökhöz?
Hozzon létre egy .env
fájlt az ügynök gyökérkönyvtára alatt, és helyezze a fájlba beállítani kívánt környezeti változókat az alábbi formátumban, majd indítsa újra az ügynököt.
MyEnv0=MyEnvValue0
MyEnv1=MyEnvValue1
MyEnv2=MyEnvValue2
MyEnv3=MyEnvValue3
MyEnv4=MyEnvValue4
Hogyan konfigurálja az ügynököt úgy, hogy megkerüljön egy webproxyt, és csatlakozzon az Azure Pipelineshoz?
Ha azt szeretné, hogy az ügynök megkerülje a proxyt, és közvetlenül csatlakozzon az Azure Pipelineshoz, akkor úgy kell konfigurálnia a webes proxyt, hogy az ügynök hozzáférhessen a következő URL-címekhez.
Tartományt *.visualstudio.com
használó szervezetek eseté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
Tartományt dev.azure.com
használó szervezetek eseté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
Annak biztosítása érdekében, hogy a szervezet együttműködjön a meglévő tűzfal- vagy IP-korlátozásokkal, győződjön meg arról, hogy dev.azure.com
nyitva vannak, *dev.azure.com
és frissítik az engedélyezett IP-címeket, hogy az IP-verzió alapján az alábbi IP-címeket tartalmazzák. Ha jelenleg engedélyezve van az és az 13.107.6.183
13.107.9.183
IP-címek felsorolása, hagyja őket helyben, mivel nem kell eltávolítania őket.
IPv4-tartományok
13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
IPv6-tartományok
2620:1ec:4::/48
2620:1ec:a92::/48
2620:1ec:21::/48
2620:1ec:22::/48
Feljegyzés
Ez az eljárás lehetővé teszi, hogy az ügynök megkerüljön egy webes proxyt. A buildelési folyamatnak és a szkripteknek továbbra is kezelnie kell a webes proxy megkerülését a buildben futtatott minden feladathoz és eszközhöz.
Ha például NuGet-feladatot használ, konfigurálnia kell a webes proxyt, hogy támogassa a használt NuGet-hírcsatorna URL-címének megkerülését.
TFS-t használok, és a fenti szakaszok URL-címei nem működnek nekem. Hol kaphatok segítséget?
A helyszíni TFS-t használom, és ezek közül néhányat nem látok. Miért igaz a fenti mondat?
Ezen funkciók némelyike csak az Azure Pipelinesban érhető el, és még nem érhető el a helyszínen. Egyes funkciók a helyszínen is elérhetők, ha a TFS legújabb verziójára frissített.
Mi engedélyezve van az ügynökszolgáltatás SERVICE_SID_TYPE_UNRESTRICTED?
Ha az ügynökszoftvert Windows Serveren konfigurálja, az alábbi parancssorból megadhatja a szolgáltatás biztonsági azonosítóját.
Enter enable SERVICE_SID_TYPE_UNRESTRICTED for agent service (Y/N) (press enter for N)
Az ügynökszoftver korábbi verziói a szolgáltatásbiztonsági azonosító típusát SERVICE_SID_TYPE_NONE
az aktuális ügynökverziók alapértelmezett értékére állítják be. A biztonsági szolgáltatás azonosítótípusának konfigurálásához nyomja Y
le a következőtSERVICE_SID_TYPE_UNRESTRICTED
: .
További információ: SERVICE_SID_INFO struktúra és biztonsági azonosítók.