Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020
A kód létrehozásához vagy a szoftver Azure Pipelines használatával történő üzembe helyezéséhez legalább egy ügynökre van szüksége. A kódbázis és a csapat növekedésének megfelelően több ügynökre van szüksége.
A folyamat futtatásakor a rendszer egy vagy több feladatot kezd el. Az ügynök egy olyan telepített ügynökszoftverrel rendelkező számítási infrastruktúra, amely egyszerre egy feladatot futtat.
Az Azure Pipelines számos különböző típusú ügynököt biztosít.
| Ügynök típusa | Leírás | Elérhetőség |
|---|---|---|
| Microsoft által üzemeltetett ügynökök | A Microsoft által üzemeltetett és felügyelt ügynökök. | Azure DevOps Services |
| Saját üzemeltetésű ügynökök | A virtuális gépekre telepített, konfigurált és felügyelt ügynökök. | Azure DevOps Services, Azure DevOps Server |
| Felügyelt DevOps-készletek ügynökei | A felügyelt DevOps-készletek egy teljes mértékben felügyelt szolgáltatás. Az ügynököket futtató virtuális gépek vagy tárolók Microsoft Azure-előfizetésben élnek, és nem a saját Azure-előfizetésében. | Azure DevOps Services |
| Azure-beli virtuálisgép-méretezési csoportok ügynökei | Az Azure-beli virtuálisgép-méretezési csoportokat használó, saját üzemeltetésű ügynökök egy formája, amely automatikusan skálázható az igényeknek megfelelően. Ha az automatikusan skálázható, saját üzemeltetésű ügynökkészletek használatát fontolgatja, javasoljuk, hogy fontolja meg a felügyelt DevOps-készletek használatát. További információ: Felügyelt DevOps-készletek összehasonlítása az Azure Virtual Machine Scale Sets ügynökeivel és a felügyelt DevOps-készletek áttekintésével. |
Azure DevOps Services |
A feladatokat közvetlenül az ügynök gazdagépén vagy egy tárolóban futtathatja.
Microsoft által üzemeltetett ügynökök
Ha a folyamatok az Azure Pipelinesban találhatók, a feladatokat kényelmesen futtathatja egy Microsoft által üzemeltetett ügynök használatával. A Microsoft által üzemeltetett ügynökökkel a karbantartás és a frissítés automatikusan megtörténik.
A folyamat során megadott virtuálisgép-rendszerkép mindig a legújabb verzióval rendelkezik. A folyamatok minden futtatásakor új virtuális gépet kapunk a folyamat minden egyes feladatához. A virtuális gép egy feladat után el lesz vetve. A feladat által a virtuális gép fájlrendszerén végzett módosítások (például a kód kivétele) nem állnak rendelkezésre a következő feladatban.
A Microsoft által üzemeltetett ügynökök közvetlenül a virtuális gépen vagy egy tárolóban futtathatnak feladatokat.
Az Azure Pipelines egy előre meghatározott, Azure Pipelines nevű ügynökkészletet biztosít a Microsoft által üzemeltetett ügynökökkel.
Sok csapat esetében ez a folyamat a legegyszerűbb módja a feladatok futtatásának. Először kipróbálhatja, hogy megfelelő-e az Ön felépítéséhez vagy telepítéséhez. Ha nem, használhatja a Virtuális Gép Méretezési Halmaz ügynökeit vagy egy önállóan üzemeltetett ügynököt.
Tipp.
Ingyenesen kipróbálhat egy Microsoft által üzemeltetett ügynököt.
További információ a Microsoft által üzemeltetett ügynökökről.
Saját üzemeltetésű ügynökök
A saját üzemeltetésű ügynök olyan ügynök, amelyet feladatok futtatására és saját felügyeletére állított be. Használhat saját üzemeltetésű ügynököket az Azure Pipelinesban vagy az Azure DevOps Serverben. A saját üzemeltetésű ügynökök nagyobb ellenőrzést biztosítanak a buildekhez és telepítésekhez szükséges függőségi szoftverek telepítésére. A gépi szintű gyorsítótárak és konfigurációk futásról futtatásra is megmaradnak, ami növelheti a sebességet.
Bár gépenként több ügynök is telepíthető, határozottan javasoljuk, hogy gépenként csak egy ügynököt telepítsen. Ha két vagy több ügynököt telepít, az hátrányosan befolyásolhatja a teljesítményt és a folyamatok eredményét.
Tipp.
A saját üzemeltetésű ügynök telepítése előtt érdemes lehet megnéznie, hogy a Microsoft által üzemeltetett ügynökkészlet működik-e Önnek. Sok esetben a Microsoft által üzemeltetett ügynökkészlet a legegyszerűbb módja az első lépéseknek. Próbálja ki.
Az ügynök linuxos, macOS és Windows rendszerű gépeken telepíthető. Az ügynököt egy Docker-tárolóra is telepítheti. További információk a saját üzemeltetésű ügynök telepítéséről:
macOS rendszeren törölni kell a letöltési archívum speciális attribútumát, hogy megakadályozza a macOS Gatekeeper-védelem megjelenését a TAR fájlban lévő egyes összetevőkhöz, amikor a ./config.sh fut. A következő parancs törli a fájl kiterjesztett attribútumát:
xattr -c vsts-agent-osx-x64-V.v.v.tar.gz ## replace V.v.v with the version in the filename downloaded.
# then unpack the gzip tar file normally:
tar xvfz vsts-agent-osx-x64-V.v.v.tar.gz
Miután telepítette az ügynököt egy gépre, bármilyen más szoftvert telepíthet arra a gépre, amelyet a feladatok igényelnek.
Feljegyzés
Az ügynökök széles körben visszamenőlegesen kompatibilisek. Az ügynök bármely verziójának kompatibilisnek kell lennie az Azure DevOps bármely verziójával, feltéve, hogy az Azure DevOps nem követeli meg az ügynök magasabb verzióját.
Csak az ügynök legújabb verzióját támogatjuk, mert ez az egyetlen olyan verzió, amely garantáltan rendelkezik az összes up-to-date javítással és hibajavítással.
Node.js futóverziók
Az ügynök Node.js kódtárak több verziójával rendelkezik, amelyek különböző Node.js kezelőket használó célfeladatokat támogatnak.
Minden hivatalos Azure DevOps-feladat Node.js 20 kódtárat használ univerzális kezelőként. Előfordulhat azonban, hogy az ügyfelek továbbra is olyan egyéni feladatokat használnak, amelyek a támogatás vége Node.js verziókat használják. A bővítmény-/egyéni feladatkészítőknek frissíteniük/tesztelniük kell a feladataikat az aktuális Node.js verziókkal.
További információ az Azure Pipelines Node.js futó életciklusáról: Node.js futók az Azure Pipelines-ügynökben.
Azure-beli virtuálisgép-méretezési csoportok ügynökei
Az Azure virtuális gép méretezési csoport ügynökei a saját üzemeltetésű ügynökök egy típusa, amely skálázható az igények kielégítésére. Ennek a rugalmasságnak köszönhetően ritkábban van szükség dedikált ügynökök futtatására. A Microsoft által üzemeltetett ügynökökkel ellentétben rugalmasan méretezheti és rendszerképként használhatja azokat a gépeket, amelyeken az ügynökök futnak.
Az Azure Pipelines kezeli az ügynökei skálázását az Ön számára. Adja meg a következő tényezőket:
- Virtuális gép méretezési csoport
- A készenléti állapotban tartandó ügynökök száma
- A méretezési csoportban lévő virtuális gépek maximális száma
További információ: Azure Virtual Machine Scale Sets-ügynökök.
Felügyelt DevOps-készletek ügynökei
A felügyelt DevOps-készletek lehetővé teszik a fejlesztői csapatok számára, hogy gyorsan és egyszerűen üzembe helyezhessenek egy adott csapat igényeire szabott Azure DevOps-ügynökkészleteket.
Felügyelt DevOps-készletek:
- A biztonsági ajánlott eljárásokat valósítja meg.
- Módot kínál a költségek és a teljesítmény egyensúlyára.
- Útvonalakat biztosít a leggyakoribb forgatókönyvekhez.
- Jelentősen csökkenti az egyéni készletek létrehozásához és karbantartásához szükséges időt.
A felügyelt DevOps-készletek az Azure Virtual Machine Scale Sets ügynökkészleteinek fejlődése. Az egyéni készletek skálázhatóságának és megbízhatóságának javításával még tovább egyszerűsíti az egyéni készletek létrehozását. A felügyelt DevOps-készletek egy teljes mértékben felügyelt szolgáltatás. Az ügynököket futtató virtuális gépek vagy tárolók egy Microsoft Azure-előfizetésben találhatók, és nem a saját Azure-előfizetésében, hasonlóan az Azure Virtual Machine Scale Sets ügynöki készleteihez. További információt a Felügyelt DevOps-készletek dokumentációjában talál.
Párhuzamos feladatok
A párhuzamos feladatok fogalma azokat a feladatokat jelöli, amelyeket egyszerre futtathat a szervezetben. Ha a szervezet egyetlen párhuzamos feladattal rendelkezik, egyszerre egyetlen feladatot is futtathat a szervezetben. Minden más egyidejű feladat várólistára kerül, amíg az első feladat be nem fejeződik. Két feladat egyidejű futtatásához két párhuzamos feladatra van szükség. Az Azure Pipelinesban párhuzamos feladatokat futtathat a Microsoft által üzemeltetett infrastruktúrán vagy saját (saját üzemeltetésű) infrastruktúrán.
A Microsoft alapértelmezés szerint ingyenes szolgáltatási szintet biztosít minden olyan szervezetben, amely legalább egy párhuzamos feladatot tartalmaz. Az egyidejűleg futtatandó folyamatok számától függően előfordulhat, hogy több párhuzamos feladatra van szükség több Microsoft által üzemeltetett vagy saját üzemeltetésű ügynök egyidejű használatához. További információ a párhuzamos feladatokról és a különböző ingyenes szolgáltatási szintekről: Párhuzamos feladatok az Azure Pipelinesban.
Több párhuzamos feladatra lehet szükség több ügynök egyidejű használatához:
Fontos
Az Azure DevOps Server 2019-től kezdve nem kell fizetnie a saját üzemeltetésű, egyidejű feladatokért a kiadásokban. Csak a rendelkezésére álló ügynökök száma korlátozza.
Képességek
Minden saját üzemeltetésű ügynök rendelkezik olyan képességekkel, amelyek jelzik, hogy mire képes. A képességek név-érték párok, amelyek a következők:
- Az ügynökszoftver által felderített képességek, úgynevezett rendszerképességek.
- Az Ön által definiált képességeket felhasználói képességeknek nevezzük.
Az ügynökszoftver automatikusan meghatározza a különböző rendszerképességeket. Ezek a képességek közé tartozik a gép neve, az operációs rendszer típusa és a gépen telepített egyes szoftverek verziói. Emellett a gépen definiált környezeti változók automatikusan megjelennek a rendszerképességek listájában.
Ha a környezeti változókat képességekként tárolja, a rendszer a tárolt képességértékeket használja a környezeti változók beállításához az ügynök futtatásakor. Emellett ha módosítja a környezeti változókat, miközben az ügynök fut, azokat semmilyen feladat nem veszi fel és használja fel. Ha nem szeretné, hogy a módosuló bizalmas környezeti változók képességekként legyenek tárolva, utasíthatja az ügynököt, hogy hagyja figyelmen kívül őket. Állítsa be a VSO_AGENT_IGNORE környezeti változót a figyelmen kívül hagyandó változók vesszővel tagolt listájával. Például egy kritikus változó, PATH amelyet érdemes figyelmen kívül hagyni, ha szoftvereket telepít.
Folyamat létrehozásakor meg kell adnia az ügynök bizonyos követelményeit . A rendszer csak olyan ügynököknek küldi el a feladatot, amelyek rendelkeznek a folyamatban megadott követelményeknek megfelelő képességekkel. Ennek eredményeképpen az ügynök képességei lehetővé teszik a feladatok adott ügynökökhöz való irányítását.
Az igényeket és képességeket saját üzemeltetésű ügynökökkel való használatra tervezték, hogy a feladatok megfelelhessenek a feladat követelményeinek megfelelő ügynöknek. A Microsoft által üzemeltetett ügynökök használatakor kiválaszt egy képet az ügynökhöz, amely megfelel a feladat követelményeinek. Bár lehetőség van képességek hozzáadására a Microsoft által üzemeltetett ügynökökhöz, nem kell a Microsoft által üzemeltetett ügynökökkel használnia a képességeket.
Igények konfigurálása
Ha keresletet szeretne hozzáadni a YAML buildelési folyamatához, adja hozzá a demands: sort a pool szakaszhoz.
pool:
name: Default
demands: SpecialSoftware # exists check for SpecialSoftware
Ellenőrizheti egy képesség meglétét, vagy összehasonlíthatja egy képesség értékét. További információ: YAML-séma – Követelmények.
Ügynök képességeinek konfigurálása
Megtekintheti az ügynök részleteit, beleértve a verzió- és rendszerképességeket, és kezelheti annak felhasználói képességeit. Nyissa meg az Ügynökkészleteket , és válassza a kívánt ügynök Képességek lapját.
A webböngészőben nyissa meg az Ügynökkészleteket:
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.
Ha új képességet szeretne regisztrálni az ügynökkel, válassza az Add a new capability (Új képesség hozzáadása) lehetőséget.
Tipp.
Miután telepítette az új szoftvert egy saját üzemeltetésű ügynökre, újra kell indítania az ügynököt az új képesség megjelenítéséhez. További információ: A Windows-ügynök újraindítása, a Linux-ügynök újraindítása és a Mac-ügynök újraindítása.
Kommunikáció
Kommunikáció az Azure Pipelinesszal
Kommunikáció az Azure DevOps Serverrel
Az ügynök kommunikál az Azure Pipelinesszal vagy az Azure DevOps Serverrel. Meghatározza, hogy melyik feladatot kell futtatnia, és jelenti a naplókat és a feladat állapotát. Az ügynök mindig kezdeményezi ezt a kommunikációt.
Az ügynök minden üzenetet HTTP-n vagy HTTPS-en keresztül küld el az Azure Pipelinesnak vagy az Azure DevOps Servernek, attól függően, hogy hogyan konfigurálta az ügynököt. Ez a lekéréses modell lehetővé teszi, hogy az ügynököt különböző topológiákra konfigurálja, ahogyan az az alábbi példákban is látható.
Íme egy gyakori kommunikációs minta az ügynök és az Azure Pipelines vagy az Azure DevOps Server között:
A felhasználó egy ügynököt regisztrál az Azure Pipelinesban vagy az Azure DevOps Serverben egy ügynökkészlethez való hozzáadással. Ahhoz, hogy egy ügynök regisztráljon az ügynökkészletben, rendelkeznie kell az ügynökkészlet rendszergazdai szerepkörével. Az ügynökkészlet adminisztrátori szerepkörére csak a regisztrációkor van szükség, és nem marad meg az ügynöknél. Nem használható az ügynök és az Azure Pipelines vagy az Azure DevOps Server közötti további kommunikációban.
A regisztráció befejezése után az ügynök letölt egy
listener OAuth token, és azt használja a feladatsor figyelésére.Az ügynök egy HTTP hosszú lekérdezéssel figyeli, hogy egy új feladatkérés szerepel-e a feladatsorban az Azure Pipelinesban vagy az Azure DevOps Serverben. Amikor egy feladat elérhető, az ügynök letölti a feladatot és egy
job-specific OAuth token. Az Azure Pipelines vagy az Azure DevOps Server létrehoz egy rövid élettartamú jogkivonatot a folyamatban megadott hatókörű identitáshoz.Az ügynök a jogkivonatot használja az Azure Pipelines vagy az Azure DevOps Server erőforrásainak elérésére vagy módosítására a feladaton belül. Például a jogkivonatot használja a forráskód eléréséhez vagy a teszteredmények feltöltéséhez.
Az ügynök elveti a feladatspecifikus
OAuthjogkivonatot a feladat befejezése után, majd ellenőrzi, hogy van-e új feladatkérés a figyelő OAuth-jogkivonatával.
Az ügynök és az Azure Pipelines vagy az Azure DevOps Server között kicserélt üzenetek tartalmát aszimmetrikus titkosítás által védik.
Minden ügynök rendelkezik egy nyilvános-privát kulcspárral, és a regisztráció során cserél nyilvános kulcsot a kiszolgálóval. A kiszolgáló a nyilvános kulccsal titkosítja a feladat hasznos adatait, mielőtt elküldi az ügynöknek. Az ügynök a titkos kulcsával fejti vissza a feladat tartalmát.
Ez a módszer biztosítja a folyamatokban vagy változócsoportokban tárolt titkos kulcsokat az ügynökkel való csere során.
Feljegyzés
Az ügynök támogatja az UTF-8 ügyfélkódolási kimenetét. Ha azonban a rendszer nem használja az UTF-8 kódolást, előfordulhat, hogy problémákat tapasztal a naplókimenettel kapcsolatban. Előfordulhat például, hogy a naplók olyan karaktereket tartalmaznak, amelyeket a rendszer kódolása nem ismer fel, ezért előfordulhat, hogy ezek hiányos vagy hiányzó szimbólumok.
Kommunikáció a célkiszolgálókon történő üzembe helyezéshez
Ha az ügynököt összetevők kiszolgálók egy halmazán történő telepítésére használja, annak „közvetlenül rá kell látnia“ ezekre a kiszolgálókra. A Microsoft által üzemeltetett ügynökkészletek alapértelmezés szerint csatlakoznak az Azure-ban futó Azure-webhelyekhez és -kiszolgálókhoz.
Ha az Azure-erőforrások egy Azure virtuális hálózatban futnak, lekérheti az Agent IP-címtartományokat, ahol a Microsoft által üzemeltetett ügynökök vannak üzembe helyezve. Ezután konfigurálhatja az Azure-beli virtuális hálózat tűzfalszabályait az ügynök általi hozzáférés engedélyezéséhez.
Ha a helyszíni környezetek nem rendelkeznek kapcsolattal a Microsoft által üzemeltetett ügynökkészlettel, ami általában a köztes tűzfalak miatt fordul elő, manuálisan kell konfigurálnia a helyszíni számítógépeken a saját üzemeltetésű ügynököket. Az ügynököknek kapcsolatot kell létesíteniük a helyszíni célkörnyezetekkel, és internet-hozzáféréssel kell rendelkezniük az Azure Pipelineshoz vagy az Azure DevOps Serverhez való csatlakozáshoz. Ezt a folyamatot a következő séma szemlélteti:
Hitelesítés
Az ügynök regisztrálásához a rendszergazdai szerepkör tagjának kell lennie az ügynökkészletben. Az ügynökkészlet rendszergazdájának identitására csak a regisztrációkor van szükség, és nem marad meg az ügynökön. Az ügynök és az Azure Pipelines vagy az Azure DevOps Server közötti későbbi kommunikációban nem használatos. Az ügynök konfigurálásához helyi rendszergazdának is kell lennie a kiszolgálón.
Ügynök regisztrálásakor válasszon az alábbi hitelesítési típusok közül. Az ügynök beállítási folyamata 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 alapszintű hitelesítéssel. Amikor kiválasztja az Alternatív lehetőséget, a rendszer kérni fogja a hitelesítő adatait.
Emellett a Windows-ügynökök az alábbi két hitelesítési lehetőséggel rendelkeznek az Azure DevOps Serveren.
- Egyeztetés: Csatlakozás az Azure DevOps Serverhez a bejelentkezett felhasználótól eltérő felhasználóként windowsos hitelesítési sémán keresztül (például New Technology LAN Manager (NTLM) vagy Kerberos). Miután kiválasztotta az Egyeztetés lehetőséget, a rendszer hitelesítő adatokat kér.
- Integrált: (Alapértelmezett) Windows-ügynök csatlakoztatása az Azure DevOps Serverhez a bejelentkezett felhasználó hitelesítő adataival windowsos hitelesítési sémán keresztül (például NTLM vagy Kerberos). 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álnia, 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 Pipelinesszal a regisztráció után, tekintse meg az Azure Pipelinesszal vagy az Azure DevOps Serverrel való kommunikációt.
Interaktív működés vagy szolgáltatás
A saját üzemeltetésű ügynököt szolgáltatásként és interaktív folyamatként is futtathatja.
Az ügynök konfigurálása után javasoljuk, hogy először interaktív módban próbálja ki, hogy biztosan működjön. Ezután éles használat esetén azt javasoljuk, hogy az ügynököt az alábbi módok egyikén futtassa, hogy az megbízhatóan futó állapotban maradjon. Ezek a módok azt is biztosítják, hogy az ügynök automatikusan elinduljon a számítógép újraindításakor.
Szolgáltatásként: Az operációs rendszer szolgáltatáskezelőjével kezelheti az ügynök életciklusát. Az ügynök automatikus frissítésének élménye jobb, ha szolgáltatásként futtatja az ügynököt.
Interaktív folyamatként, amelyen engedélyezve van az automatikus bejelentkezés: Bizonyos esetekben előfordulhat, hogy az ügynököt interaktívan kell futtatnia éles használatra (például felhasználói felületi tesztek futtatásához). Ha egy ügynököt úgy konfigurál, hogy ebben a módban fusson, a képernyőkímélő le van tiltva. Egyes tartományi szabályzatok megakadályozhatják az automatikus bejelentkezés engedélyezését vagy a képernyőkímélő letiltását. Ilyen esetekben előfordulhat, hogy kivételt kell kérnie a tartományházirend alól, vagy olyan munkacsoport-számítógépen kell futtatnia az ügynököt, ahol a tartományi szabályzatok nem érvényesek.
Feljegyzés
Biztonsági kockázatokkal jár, ha engedélyezi az automatikus bejelentkezést, vagy letiltja a képernyőkímélőt. Előfordulhat, hogy más felhasználók hozzáférhetnek a számítógéphez, és használhatják azt a fiókot, amely automatikusan bejelentkezik. Ha úgy konfigurálja az ügynököt, hogy így fusson, győződjön meg arról, hogy a számítógép fizikailag védett (például egy biztonságos létesítményben).
Ha távoli asztalt használ egy olyan számítógép eléréséhez, amelyen egy ügynök automatikus bejelentkezéssel fut, a távoli asztal bezárása a számítógép zárolását eredményezi. Az ügynökön futó felhasználói felületi tesztek sikertelenek lehetnek. A probléma elkerülése érdekében használja a
tsconparancsot a távoli asztaltól való leválasztáshoz. Példa:%windir%\System32\tscon.exe 1 /dest:console
Ügynökfiók
Akár szolgáltatásként, akár interaktívan futtat ügynököt, kiválaszthatja, hogy melyik számítógépfiókot használja az ügynök futtatásához. Az ügynökfiók kiválasztása kizárólag a buildelési és üzembehelyezési feladatokban futtatott feladatok igényeitől függ.
Ha például windowsos hitelesítéssel szeretne feladatokat futtatni egy külső szolgáltatás eléréséhez, az ügynöknek az adott szolgáltatáshoz hozzáféréssel rendelkező fiókkal kell futnia. Ha azonban olyan felhasználói felületi teszteket futtat, mint a szelén vagy a böngészőt igénylő kódolt felhasználói felületi tesztek, a böngésző az ügynökfiók kontextusában nyílik meg.
Windows rendszeren javasoljuk, hogy használjon olyan szolgáltatásfiókot, mint a Hálózati szolgáltatás vagy a Helyi szolgáltatás. Ezek a fiókok engedélyei korlátozottak, és a jelszavaik nem járnak le, ezért az ügynöknek idővel kevesebb felügyeletre van szüksége.
Ezek a hitelesítő adatok eltérnek az ügynök Azure Pipelinesban vagy Azure DevOps Serverben való regisztrálásakor használt hitelesítő adatoktól.
Ügynök verziója és frissítései
Az ügynökszoftvert néhány hetente frissítjük az Azure Pipelinesban. Az ügynök verzióját a formátumban {major}.{minor}jelöljük. Ha például az ügynök verziója, 2.1akkor a főverzió és 2 az alverzió.1
Naprakészen tartjuk a Microsoft által üzemeltetett ügynököket. Ha az ügynök újabb verziója csak az alverzióban különbözik, az Azure Pipelines automatikusan frissítheti a saját üzemeltetésű ügynököket. Az alapértelmezett beállítás engedélyezve van. Ezt a beállítást az ügynökkészletekben úgy konfigurálhatja, hogy kiválasztja az ügynököt, majd a Beállítások lehetőséget választja. Frissítésre akkor van szükség, ha egy platformfunkcióhoz vagy a folyamat egyik feladatához az ügynök újabb verziója szükséges.
Ha interaktívan futtat egy saját üzemeltetésű ügynököt, vagy ha az ügynök egy újabb főverziója érhető el, előfordulhat, hogy manuálisan kell frissítenie az ügynököket. Az ügynököket a szervezet Ügynökkészletek lapján frissítheti. A folyamatok nem futtathatók kompatibilis ügynök nélkül.
Saját üzemeltetésű ügynökök frissítése
Nyissa meg a Project-beállítások>ügynökkészleteit.
Válassza ki az ügynökkészletet, majd válassza az Összes ügynök frissítése lehetőséget.
Az ügynököket egyenként is frissítheti, ha a ...menüBen az Update agent (Ügynök frissítése) lehetőséget választja.
A megerősítéshez válassza a Frissítés lehetőséget.
A frissítési kérés a csoport minden ügynöke számára várólistára kerül, és akkor fut, amikor az éppen futó feladatok befejeződnek. A frissítés általában csak néhány percet vesz igénybe. Ez az idő elég hosszú ahhoz, hogy letöltse az ügynökszoftver legújabb verzióját (körülbelül 200 MB), bontsa ki, és indítsa újra az ügynököt az új verzióval. Az ügynökök állapotát az Ügynökök lapon követheti nyomon.
Az ügynökszoftvert minden Azure DevOps Server-frissítéssel frissítjük. Az ügynök verzióját a formátumban {major}.{minor}jelöljük. Ha például az ügynök verziója, 2.1akkor a főverzió 2, az alverzió pedig 1.
Ha az Azure DevOps Server egy újabb verziójú ügyfélprogrammal rendelkezik, és ez az újabb ügyfélprogram csak az alverzióban különbözik, akkor általában automatikusan frissíthető. Frissítésre akkor van szükség, ha egy platformfunkcióhoz vagy a folyamatban használt feladatokhoz az ügynök újabb verziója szükséges. Az Azure DevOps Server 2019-től kezdve nem kell várnia az új kiszolgáló kiadására. Az ügynök új verzióját feltöltheti az alkalmazásszintre, és ez a verzió frissítésként érhető el.
Ha interaktívan futtatja az ügynököt, vagy ha az ügynök újabb főverziója érhető el, előfordulhat, hogy manuálisan kell frissítenie az ügynököket. Az ügynök egyszerűen frissíthető az Ügynökkészletek lapról a projektgyűjtemény alatt. A folyamatok nem futtathatók kompatibilis ügynök nélkül.
Megtekintheti az ügynök verzióját. Nyissa meg az Ügynökkészleteket , és válassza a kívánt ügynök Képességek lapját az Ügynök képességeinek konfigurálása című cikkben leírtak szerint.
Az ügynökfrissítés programozott aktiválásához használhatja az Ügynökfrissítési API-t a Hogyan aktiválhatom az ügynökfrissítéseket programozott módon egy adott ügynökkészlethez? című szakaszban leírtak szerint.
Internetes hozzáféréssel nem rendelkező kiszolgálók esetén másolja manuálisan az ügynök ZIP-fájlját a következő mappába, hogy helyi fájlként használhassa. Hozza létre az Ügynökök mappát, ha nincs jelen:
- Windows:
%ProgramData%\Microsoft\Azure DevOps\Agents - Linux:
usr/share/Microsoft/Azure DevOps/Agents - macOS:
usr/share/Microsoft/Azure DevOps/Agents
Ügynök katalógusstruktúra
Amikor a folyamatfeladatok ügynökökön futnak, létrejön egy címtárstruktúra a forráskód, a bináris fájlok és az összetevők tárolásához.
Az ügynök kezdőkönyvtára az a könyvtár, amelyben az ügynök telepítve van. A könyvtár tipikusan itt található:
-
Microsoft által üzemeltetett ügynökök:
C:\agents\<agent version>Windowson,/Users/runner/runners/<agent version>macOS-en és/home/vsts/agents/<agent version>Linuxon. -
Saját üzemeltetésű ügynökök:
C:\agentWindowson,Users/<username>/agent(~/agent) macOS-en és/home/vsts/agentLinuxon.
Az ügynök munkakönyvtára tartalmazza azt a munkaterületet, ahol a forrás- és feladatkimenet tárolódik. A munkakönyvtár általában itt található:
-
Microsoft által üzemeltetett ügynök:
C:\aWindowson,/Users/runner/workmacOS-en és/home/vsts/workLinuxon. -
Saját üzemeltetésű ügynök:
C:\agent\_workWindowson,~/agent/workmacOS-en és/home/agent/_workLinuxon.
A munkakönyvtár struktúrája a következő:
- /work directory
- /1 build directory/pipeline workspace
- /s source/working directory
- /b binaries directory
- /a artifacts staging directory
- /TestResults Test results directory
| Címtár | Leírás | Példák | Előre definiált változók |
|---|---|---|---|
| Ügynök kezdőkönyvtára | Az ügynök telepítésének helye. | Microsoft által üzemeltetett ügynök: Windows: C:\agents\3.248.0Linux: /home/vsts/agents/3.248.0macOS: /Users/runner/runners/3.248.0Saját üzemeltetésű ügynök: Windows: C:\agentLinux: home/agent macOS: ~/agent |
Agent.HomeDirectory |
| Munkahelyi könyvtár | Ahol az ügynök tárolja a forráskódot, a bináris fájlokat és az összetevőket. | Microsoft által üzemeltetett ügynök: Windows: C:\aLinux: /home/vsts/workmacOS: /Users/runner/workSaját üzemeltetésű ügynök: Windows: C:\agent\_workLinux: /home/agent/_work macOS: ~/agent/work |
Agent.WorkFolderAgent.RootDirectory System.WorkFolder |
| Címtár vagy munkaterület létrehozása | A csővezeték feladat futtatásának helye. | Microsoft által üzemeltetett ügynök: Windows: C:\a\1Linux: /home/vsts/work/1macOS: /Users/runner/work/1Saját üzemeltetésű ügynök: Windows: C:\agent\_work\1Linux: /home/agent/_work/1 macOS: ~/agent/work/1 |
Agent.BuildDirectoryPipeline.Workspace |
s - Forrás- vagy munkakönyvtár |
Az adattárból kivett forráskódot tartalmazza. Ha a feladatban több checkout lépés is szerepel, a forráskód ki lesz véve az adattárakról elnevezett könyvtárakba, mint a fájl almappája s. |
Microsoft által üzemeltetett ügynök: Windows: C:\a\1\sLinux: /home/vsts/work/1/smacOS: /Users/runner/work/1/sSaját üzemeltetésű ügynök: Windows: C:\agent\_work\1\sLinux: /home/agent/_work/1/s macOS: ~/agent/work/1/s |
Build.SourcesDirectory Build.RepositoryLocalPathSystem.DefaultWorkingDirectory |
b – Bináris fájlok könyvtára |
A buildkimeneteket tartalmazza. | Microsoft által üzemeltetett ügynök: Windows: C:\a\1\bLinux: /home/vsts/work/1/bmacOS: /Users/runner/work/1/bSaját üzemeltetésű ügynök: Windows: C:\agent\_work\1\bLinux: /home/agent/_work/1/bmacOS: ~/agent/work/1/b |
Build.BinariesDirectory |
a – Összetevők átmeneti könyvtára |
Az építési artefaktumokat tartalmazza. Tisztítva van a saját üzemeltetésű ügynökök futtatásai között. | Microsoft által üzemeltetett ügynök: Windows: C:\a\1\aLinux: /home/vsts/work/1/amacOS: /Users/runner/work/1/aSaját üzemeltetésű ügynök: Windows: C:\agent\_work\1\aLinux: /home/agent/_work/1/a macOS: ~/agent/work/1/a |
Build.StagingDirectoryBuild.ArtifactStagingDirectory System.ArtifactsDirectory |
TestResults címtár |
A teszt eredményeit tartalmazza. Tisztítva van a saját üzemeltetésű ügynökök futtatásai között. | Microsoft által üzemeltetett ügynök: Windows: C:\a\1\TestResultsLinux: /home/vsts/work/1/TestResultsmacOS: /Users/runner/work/1/TestResultsSaját üzemeltetésű ügynök: Windows: C:\agent\_work\1\TestResultsLinux: /home/agent/_work/1/TestResults macOS: ~/agent/work/1/TestResults |
Common.TestResultsDirectory |
A Microsoft által üzemeltetett ügynökök esetében minden futtatáskor egy másik ügynököt használnak, így a munkakönyvtár nem marad meg a futtatások között. A saját üzemeltetésű ügynökök esetében alapértelmezés szerint csak az előkészítési könyvtárat és a teszteredmény-könyvtárakat tartalmazó összetevők lesznek megtisztítva a futtatások között. További információ a munkaterület tiszta beállításáról: Munkaterület.
Az előre definiált változókról további információt Előre definiált változókcímű témakörben talál.
GYIK
Hogyan győződjön meg arról, hogy a legújabb ügynökverzióval rendelkezem?
Lépjen az Ügynökkészletek lapra:
Válassza ki azt a készletet, amely tartalmazza az ügynököt.
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.
Keresse meg a
Agent.Versionképességet. Ezt az értéket összehasonlíthatja az Azure Pipelines-ügynök oldalán közzétett legújabb ügynökverzióval.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, majd 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, hogy a kiszolgáló ügynökcsomag-fájlokat keressen 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 az egyes Azure DevOps Server-alkalmazásszintekre egy tetszőleges módszerrel (például USB-meghajtó, hálózati átvitel stb.). Helyezze az ügynökfájlokat a
%ProgramData%\Microsoft\Azure DevOps\Agentsmappába. Ha nincs ügynökök címkével ellátott mappa, hozzon létre egyet.Minden be van állítva! Az Azure DevOps Server mostantól a helyi fájlokat használja 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.
Vannak a saját üzemeltetésű ügynökök teljesítménybeli előnyei a Microsoft által üzemeltetett ügynökökkel szemben?
Számos esetben igen. Ha saját üzemeltetésű ügynököt használ, növekményes buildeket futtathat. Ha például olyan folyamatot határoz meg, amely nem tisztítja meg az adattárat, és nem végez tiszta buildet, a buildek általában gyorsabban futnak. Ezek az előnyök csak akkor érhetők el a Microsoft által üzemeltetett ügynökkel, ha nem használ olyan funkciókat, mint a gyorsítótárazás, mert az ügynök a folyamat befejezése után megsemmisül.
A Microsoft által üzemeltetett ügynökök létrehozása hosszabb időt is igénybe vehet. Bár a feladat hozzárendelése gyakran csak néhány másodpercet vesz igénybe egy Microsoft által üzemeltetett ügynökhöz, a rendszer terhelésétől függően néha több percet is igénybe vehet egy ügynök lefoglalása.
Telepíthetek több saját üzemeltetésű ügynököt ugyanarra a gépre?
Igen. Ez a megközelítés jól működik az olyan ügynökök esetében, amelyek olyan feladatokat futtatnak, amelyek nem használnak sok megosztott erőforrást. Kipróbálhatja például azokat az ügynököket, amelyek olyan kiadásokat futtatnak, amelyek többnyire az üzembe helyezéseket vezényelik, és nem dolgoznak sokat az ügynökön.
Előfordulhat, hogy más esetekben nem kap sok hatékonyságot, ha több ügynököt futtat ugyanazon a gépen. Például előfordulhat, hogy nem éri meg azoknak az ügynököknek, amelyek olyan buildeket futtatnak, amelyek sok lemezterületet és I/O erőforrásokat használnak fel.
Akkor is problémákba ütközhet, ha a párhuzamos buildelési feladatok ugyanazt az egytonos eszköztelepítést használják (például npm-csomagokat). Az egyik build frissíthet egy függőséget, miközben egy másik build használja, ami megbízhatatlan eredményeket és hibákat okozhat.
Mit tesznek az ügynökök a folyamatfeladatok megszakításakor?
A Microsoft által üzemeltetett ügynökök esetében az ügynök le lesz bontva, és visszakerül az Azure feldolgozási sorok készletébe.
Saját üzemeltetésű ügynökök esetén:
- Ha egy folyamat megszakad, az ügynök parancssorozatot küld az aktuális lépést végrehajtó folyamatnak.
- Az első parancs 7,5 másodperces időtúllépéssel lesz elküldve.
- Ha a folyamat nem fejeződik be, a rendszer egy második parancsot küld 2,5 másodperces időtúllépéssel.
- Ha a folyamat nem fejeződik be, az ügynök parancsot ad a leölésre.
- Ha a folyamat figyelmen kívül hagyja a két kezdeti megszüntetési kérelmet, akkor a rendszer kényszerítetten leáll.
A kezdeti kérelemtől a befejezésig eltelt idő körülbelül 10 másodperc.
A folyamat megszakítására kiadott parancsok az ügynök operációs rendszerétől függően eltérnek:
- macOS és Linux: Az elküldött parancsok
SIGINT, azt követiSIGTERM, majdSIGKILL. - Windows: A folyamatnak küldött parancsokat
Ctrl+CkövetiCtrl+Break, majdProcess.Kill.
Hogyan aktiválhatom az ügynökfrissítéseket programozott módon az adott ügynökkészlethez?
A készlet ügynökfrissítéseit a következő API-val indíthatja el:
POST https://dev.azure.com/{organization}/_apis/distributedtask/pools/{poolId}/messages?agentId={agentId}&api-version=6.0
POST https://{server url}/tfs/{collection}/_apis/distributedtask/pools/{poolId}/messages?agentId={agentId}&api-version=6.0
Feljegyzés
További információ: API és Azure DevOps Server verzióleképezés.
URI-paraméterek
| Név | In | Kötelező | Típus | Leírás |
|---|---|---|---|---|
agentId |
lekérdezés | False |
karakterlánc | A frissíteni kívánt ügynök. Ha nincs megadva, a rendszer minden ügynök számára aktiválja a frissítést. |
organization |
elérési út | True |
karakterlánc | Az Azure DevOps-szervezet neve. |
poolId |
elérési út | True |
egész szám int32 | A használni kívánt ügynökkészlet. |
api-version |
lekérdezés | False |
karakterlánc | A használni kívánt API verziója. Az API ezen verziójának használatához az értéket a következőre kell állítani 6.0: . |
Ügynökfrissítés aktiválásához a kérelem törzsének üresnek kell lennie.
Az Azure Pipelines-ügynök nyílt forráskódú a GitHubon.
Kapcsolódó tartalom
Az ügynökökkel kapcsolatos további információkért tekintse meg az Azure DevOps képzési tervvel rendelkező alkalmazások buildelési moduljait :