Azure Pipelines-ügynökök

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

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ég. Amikor további kódot és személyeket ad hozzá, előbb-utóbb többre lesz 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épeken konfigurált és felügyelt ügynökök Azure DevOps Services, Azure DevOps Server
Azure-beli virtuálisgép-méretezési csoportok ügynökei Saját üzemeltetésű ügynökök egy formája az Azure-beli virtuálisgép-méretezési csoportok használatával, amelyek automatikusan skálázhatók az igényeknek megfelelően Azure DevOps Services

A feladatok közvetlenül az ügynök gazdagépén vagy egy tárolóban futtathatók.

Microsoft által üzemeltetett ügynökök

Ha a folyamatok az Azure Pipelinesban találhatók, akkor kényelmesen futtathatja a feladatokat egy Microsoft által üzemeltetett ügynökkel. A Microsoft által üzemeltetett ügynökök használatakor nem kell foglalkozunk a karbantartással és a frissítésekkel. Mindig a folyamat által megadott virtuálisgép-rendszerkép legújabb verzióját kapja meg. Minden alkalommal, amikor futtat egy folyamatot, egy friss virtuális gépet kap a folyamat minden feladatához. A virtuális gép egy feladat után el lesz vetve (ami azt jelenti, hogy a feladat által a virtuálisgép-fájlrendszerben végzett minden módosítás, például a kód kivétele, nem lesz elérhető a következő feladathoz). 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 számára ez a legegyszerűbb módja a feladatok futtatásának. Először kipróbálhatja, és ellenőrizheti, hogy működik-e a buildhez vagy az üzembe helyezéshez. Ha nem, használhat méretezési csoportügynököket vagy egy saját üzemeltetésű ü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 feladatok futtatásához önállóan beállított és felügyelt ügynök egy saját üzemeltetésű ügynök. Használhat saját üzemeltetésű ügynököt az Azure Pipelinesban vagy az Azure DevOps Serverben, korábbi nevén Team Foundation Serverben (TFS). A saját üzemeltetésű ügynökökkel jobban szabályozható a buildekhez és üzembe helyezésekhez szükséges függő szoftverek telepítése. 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.

Feljegyzés

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. Két vagy több ügynök telepítése 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ézni, hogy a Microsoft által üzemeltetett ügynökkészlet működik-e Önnek. Sok esetben ez a legegyszerűbb módja a kezdésnek. Próbálja ki.

Az ügynököt Linux, macOS vagy Windows rendszerű számítógépre telepítheti. Ügynököt telepíthet Docker-tárolóba is. További információk a saját üzemeltetésű ügynök telepítéséről:

Feljegyzés

MacOS rendszeren törölnie kell a letöltési archívum speciális attribútumát, hogy a Gatekeeper-védelem futás közben ./config.sh ne jelenjen meg a tar fájlban lévő egyes szerelvényekhez. 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épen, a feladataihoz szükséges bármely más szoftvert telepíthet erre a gépre.

Feljegyzés

Az ügynökök széles körben visszamenőlegesen kompatibilisek. Az ügynök bármely verziójának kompatibilisnek kell lennie bármely Azure DevOps-verzió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, mivel ez az egyetlen olyan verzió, amely garantáltan minden naprakész javítással és hibajavítással rendelkezik.

Csomópont futóverziói

Az ügynök a NodeJS-kódtárak több verziójával rendelkezik, hogy támogassa a különböző csomópontkezelőket használó célfeladatokat.

Az összes hivatalos Azure DevOps-feladat a Node 10-et használja univerzális kezelőként, azonban előfordulhat, hogy az ügyfelek továbbra is az elavult Node 6-kódtárat használó egyéni feladatokat használják. A jelenleg az életciklus végéhez ért csomóponttal való visszamenőleges kompatibilitás támogatása érdekében a következő önkiszolgáló módszereket biztosítjuk a kijelölt csomópontfuttató manuális telepítéséhez.

  • Telepítse manuálisan a Node 6 futót. A Node 6 futó manuális telepítéséről további információt a Node 6 támogatásában talál.

  • Használja a NodeTaskRunnerInstaller@0 feladatot az elavult Node 6-kódtárat igénylő folyamatokban.

  • Telepítsen egy ügynökcsomagot, amely tartalmazza a Node 6-ot.

    Az Azure Pipelines az ügynökcsomagok két verzióját biztosítja.

    • A vsts-agent-* csomagok támogatják a Node 6-ot.
    • A pipelines-agent-* csomagok nem támogatják a Node 6-ot. A csomag ezen verziója lesz a jövőben az alapértelmezett ügynökcsomag.

    Ha tudja, hogy nem használ Csomópont 6 függő feladatokat, és nem szeretné, hogy a Node 6 telepítve legyen az ügynökgépen, az ügynököt az Alternatív ügynök letöltése szakaszból https://github.com/microsoft/azure-pipelines-agent/releasestelepítheti.

Azure-beli virtuálisgép-méretezési csoportok ügynökei

Az Azure Virtuálisgép-méretezési csoport ügynökei a saját üzemeltetésű ügynökök egy formája, amely automatikusan skálázható az igényeinek megfelelően. 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öktől eltérően rugalmasan kezelheti azoknak a gépeknek a méretét és rendszerképét, amelyeken az ügynökök futnak.

Megadhatja a virtuálisgép-méretezési csoportot, a készenléti állapotban tartandó ügynökök számát, a méretezési csoportban lévő virtuális gépek maximális számát, és az Azure Pipelines felügyeli az ügynökök skálázását.

További információ: Azure Virtual Machine Scale Set agents.

Párhuzamos feladatok

A párhuzamos feladatok azt a feladatot jelölik, amelyet egyszerre futtathat a szervezetben. Ha a szervezet egyetlen párhuzamos feladattal rendelkezik, egyszerre egyetlen feladatot is futtathat a szervezetben, és az összes további 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, amelyeket az ügynökszoftver automatikusan felderít, ebben az esetben rendszerképességeknek vagy ön által definiált képességeknek nevezzük őket, ebben az esetben felhasználói képességeknek nevezzük őket.

Az ügynökszoftver automatikusan meghatározza a különböző rendszerképességeket, például a gép nevét, az operációs rendszer típusát és a gépen telepített egyes szoftverek verzióit. Emellett a gépen definiált környezeti változók automatikusan megjelennek a rendszerképességek listájában.

Feljegyzés

A környezeti változók képességekként való tárolása azt jelenti, hogy egy ügynök futtatásakor a rendszer a tárolt képességértékeket használja a környezeti változók beállításához. Emellett az ügynök futása közben végrehajtott környezeti változók módosításait sem veszi át és nem használja fel semmilyen tevékenység. Ha bizalmas környezeti változói változnak, és nem szeretné, hogy képességekként tárolják őket, figyelmen kívül hagyhatja őket a VSO_AGENT_IGNORE környezeti változó beállításával, és a változók vesszővel tagolt listáját figyelmen kívül hagyhatja. 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 azoknak az ü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.

Feljegyzés

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 olyan képet az ügynökhöz, amely megfelel a feladat követelményeinek, így 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 annak verzióját és rendszerképességeit, valamint kezelheti a felhasználói képességeit, ha az Ügynökkészletek között navigál, és kiválasztja a kívánt ügynök Képességek lapját.

  1. A webböngészőben keresse meg az Ügynökkészleteket:

    1. Jelentkezzen be a szervezetbe (https://dev.azure.com/{yourorganization}).

    2. Válassza az Azure DevOps szervezeti beállításait.

      Válassza a Szervezeti beállítások lehetőséget.

    3. Válassza az Ügynökkészletek lehetőséget.

      Válassza az Ügynökkészletek lapot.

    1. Jelentkezzen be a projektgyűjteménybe (http://your-server/DefaultCollection).

    2. Válassza az Azure DevOps gyűjteménybeállításait.

      Válassza a Gyűjtemény beállításai lehetőséget.

    3. Válassza az Ügynökkészletek lehetőséget.

      Válassza az Ügynökkészletek lehetőséget.

    1. Válassza az Azure DevOps gyűjteménybeállításait.

      Gyűjteménybeállítások, 2019.

    2. Válassza az Ügynökkészletek lehetőséget.

      Válassza az Ügynökkészletek 2019 lehetőséget.

  2. Lépjen a Képességek lapra:

    1. Az Ügynökkészletek lapon válassza ki a kívánt ügynökkészletet.

      Az ügynökkészletekből válassza ki a kívánt ügynökkészletet.

    2. Válassza ki az Ügynökök lehetőséget, és válassza ki a kívánt ügynököt.

      Válassza az Ügynökök lehetőséget, és válassza ki az ügynököt.

    3. Válassza a Képességek lapot.

      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.

    1. Az Ügynökkészletek lapon válassza ki a kívánt készletet.

      Válassza ki a kívánt készletet.

    2. Válassza ki az Ügynökök lehetőséget, és válassza ki a kívánt ügynököt.

      Válassza ki az Ügynökök lehetőséget, és válassza ki a kívánt ügynököt.

    3. Válassza a Képességek lapot.

      Ügynök képességei lap.

    1. Az Ügynökkészletek lapon válassza ki a kívánt készletet.

      Válassza ki a kívánt lapot, 2019.

    2. Válassza ki az Ügynökök lehetőséget, és válassza ki a kívánt ügynököt.

      Válassza ki a kívánt ügynök, 2019.

    3. Válassza a Képességek lapot.

      Válassza a Képességek lapot, 2019.

  3. 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 az Azure Pipelinesszal vagy az Azure DevOps Serverrel kommunikálva állapítja meg, hogy melyik feladatot kell futtatnia, és jelenti a naplókat és a feladat állapotát. Ezt a kommunikációt mindig az ügynök kezdeményezi. 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 teszi lehetővé az ügynök különböző topológiákban történő konfigurálását, ahogyan az alábbi ábrán látható.

Ügynöktopológiák helyszíni telepítésekben.

Ügynöktopológiák az Azure DevOps Servicesben.

Ez az ügynök és az Azure Pipelines vagy az Azure DevOps Server közötti kommunikáció egy gakori mintázata.

  1. 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. Ügynökkészlet-rendszergazdának kell lennie ahhoz, hogy egy ügynököt regisztráljon az adott ügynökkészletben. Az ügynökkészlet-rendszergazda identitására csak a regisztrációkor van szükség, az ügynök nem őrzi meg azt, és nem használja 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 figyelő OAuth-jogkivonatot , és a feladatsor figyelésére használja.

  2. Az ügynök hosszú HTTP-lekérdezéssel figyeli, hogy van-e a számára közzétett új feladatkérés az Azure Pipelines/Azure DevOps Server feladatsorában. Amikor egy feladat elérhető, az ügynök letölti a feladatot, valamint egy feladatspecifikus OAuth-jogkivonatot. Ezt a jogkivonatot az Azure Pipelines/Azure DevOps Server hozza létre a folyamatban megadott hatókörű identitáshoz. A jogkivonat élettartama rövid, és az ügynök arra használja, hogy erőforrásokhoz (például forráskódhoz) férjen hozzá, vagy erőforrásokat módosítson (például teszteredményeket töltsön fel) a feladat keretében az Azure Pipelinesban vagy az Azure DevOps Serveren.

  3. A feladat befejezése után az ügynök törli a feladathoz tartozó OAuth-jogkivonatot, és visszatér az új feladatkérések figyeléséhez a figyelő OAuth-jogkivonat használatával.

Az ügynök és az Azure Pipelines/Azure DevOps Server közötti üzenetek hasznos adattartalmát aszimmetrikus titkosítás védi. 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 adattartalmát, mielőtt elküldené az ügynöknek. Az ügynök a privát kulccsal oldja fel a feladat tartalmának titkosítását. Ennek köszönhetően vannak biztonságban az ügynökkel kicserélt, folyamatokban vagy változócsoportokban tárolt titkos kódok.

Feljegyzés

Az ügynök támogatja az UTF-8 ügyfélkódolási kimenetét. Ha azonban a rendszer más kódolással rendelkezik, mint az UTF-8, előfordulhat, hogy problémákat tapasztal a naplók kimenetével kapcsolatban. Előfordulhat például, hogy a naplók olyan karaktereket tartalmaznak, amelyeket a rendszer kódolása nem ismer fel, így azok használhatatlan vagy hiányzó szimbólumokként jelenhetnek meg.

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 kapcsolódnak az Azure-webhelyekhez és az Azure-ban futó kiszolgálókhoz.

Feljegyzés

Ha az Azure-erőforrások egy Azure-beli virtuális hálózaton futnak, lekérheti az ügynök IP-tartományait, ahol a Microsoft által üzemeltetett ügynökök vannak üzembe helyezve, így 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 kapcsolódnak Microsoft-üzemeltetésű ügynökkészlethez (ami általában így van a köztes tűzfalak miatt), akkor manuálisan kell saját üzemeltetésű ügynököt konfigurálnia a helyszíni számítógépe(ke)n. Az ügynököknek kapcsolódniuk kell a helyszíni célkörnyezetekhez, és el kell érniük az Internetet, hogy kapcsolódhassanak az Azure Pipelineshoz vagy a Team Foundation Serverhez, ahogyan az alábbi ábra szemlélteti.

Ügynökkapcsolat helyszíni környezetekhez

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-rendszergazda identitására csak a regisztrációkor van szükség, az ügynök nem őrzi meg azt, és nem használja az ügynök és az Azure Pipelines vagy az Azure DevOps Server közötti későbbi kommunikációban. Emellett helyi rendszergazdának is kell lennie a kiszolgálón, hogy konfigurálhassa az ügynököt.

Ügynök regisztrálásakor válasszon a következő hitelesítési típusok közül, és az ügynökbeállítás rákérdez az egyes hitelesítési típusokhoz szükséges további információkra. További információ: Saját üzemeltetésű ügynökhitelesítési lehetőségek.

A Windows-ügynökök az alábbi két további hitelesítési lehetőséggel rendelkeznek az Azure DevOps Serveren.

  • Egyeztetés Csatlakozás az Azure DevOps Serverrel a bejelentkezett felhasználótól eltérő felhasználóként egy Windows-hitelesítési sémán, 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) Csatlakozás egy Windows-ügynököt az Azure DevOps Serverbe 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 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öt a konfigurálása után ajánlott először interaktív módban kipróbálni, és meggyőződni a működéséről. Ezután, az éles használat során már ajánlott az ügynököt az alábbi módok valamelyikében futtatni, hogy 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.

  1. Szolgáltatásként. Az ügynök életciklusának kezelésére felhasználhatja az operációs rendszer szolgáltatáskezelőjét. Emellett az ügynök automatikus verziófrissítése is egyszerűbb, ha az szolgáltatásként fut.

  2. Interaktív folyamatként, amelyen engedélyezve van az automatikus bejelentkezés. Bizonyos esetekben az ügynököt szükséges lehet interaktívan futtatni éles környezetben, például a felhasználói felület teszteléséhez. Ha az ügynök úgy van konfigurálva, hogy ebben a módban fusson, akkor a képernyőkímélő is 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ányszabályzat 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ázatot jelent, ha engedélyezi az automatikus bejelentkezést, vagy letiltja a képernyőkímélőt, mert lehetővé teszi, hogy más felhasználók lépjenek fel a számítógépre, és használjá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 található. Ha a Távoli asztal használatával éri el azt a számítógépet, amelyen egy ügynök automatikus bejelentkezéssel fut, egyszerűen zárja be a távoli asztalt, és az ügynökön futó felhasználói felületi tesztek sikertelenek lehetnek. Ennek elkerülése érdekében a tscon paranccsal válassza le a távoli asztalról. 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. (Vegye figyelembe, hogy ez eltér az ügynök Azure Pipelinesban vagy Azure DevOps Serverben való regisztrálásakor használt hitelesítő adatoktól.) Az ügynökfiók kiválasztása kizárólag a buildelési és üzembehelyezési feladatokban futó feladatok igényeitől függ.

Ha például Windows-hitelesítést használó feladatokat szeretne futtatni egy külső szolgáltatás eléréséhez, az ügynököt egy olyan fiókkal kell futtatnia, amely rendelkezik hozzáféréssel a szolgáltatáshoz. 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 indul el.

Windows rendszeren érdemes megfontolni egy olyan szolgáltatásfiók használatát, mint a Hálózati szolgáltatás vagy a Helyi szolgáltatás. Ezek a fiókok korlátozott engedélyekkel rendelkeznek, és a jelszavaik nem járnak le, ami azt jelenti, hogy az ügynöknek idővel kevesebb felügyeletre van szüksége.

Ü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ó 2, az alverzió pedig 1.

A Microsoft által üzemeltetett ügynökök mindig naprakészek. Ha az ügynök újabb verziója csak alverzióban különbözik, a saját üzemeltetésű ügynökök általában automatikusan frissíthetők (ezt a beállítást az Ügynökkészletekben konfigurálhatja, kiválaszthatja az ügynököt, Gépház – az alapértelmezett engedélyezve van) az Azure Pipelines. 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.

Ha interaktívan futtat egy saját üzemeltetésű ügynököt, vagy ha az ügynök újabb főverziója érhető el, akkor előfordulhat, hogy manuálisan kell frissítenie az ügynököket. Ezt egyszerűen megteheti a szervezet Ügynökkészletek lapján. A folyamatok csak akkor futnak, ha kompatibilis ügynököt céloznak meg.

Saját üzemeltetésű ügynökök frissítése

  1. Navigáljon a Project beállításaihoz, ügynökkészletekhez.

    Projektbeállítások, ügynökkészletek

  2. Válassza ki az ügynökkészletet, és válassza az Összes ügynök frissítése lehetőséget.

    Az összes ügynök frissítése

    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.

    Ügynök frissítése

  3. A frissítés megerősítéséhez válassza a Frissítés lehetőséget.

    Az összes ügynök megerősítésének frissítése

  4. A készletben lévő összes ügynökhöz várólistára kerül egy frissítési kérés, és a jelenleg futó feladatok befejeződésekor fut. A frissítés általában csak néhány percet vesz igénybe – 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 az Azure DevOps Server minden frissítésével 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 az ügynök újabb verziójával rendelkezik, és az újabb ügynök csak alverzióban különbözik, á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 lesz felajánlva.

Ha interaktívan futtatja az ügynököt, vagy ha az ügynök egy újabb főverziója érhető el, akkor előfordulhat, hogy manuálisan kell frissítenie az ügynököket. Ezt egyszerűen megteheti az Ügynökkészletek lapon a projektgyűjtemény alatt. A folyamatok csak akkor futnak, ha kompatibilis ügynököt céloznak meg.

Az ügynök verziójának megtekintéséhez navigáljon az ügynökkészletekre, é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 programozott módon az ügynökfrissítéseket az adott ügynökkészlethez? című szakaszban leírtak szerint.

Feljegyzés

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

Hozza létre az Ügynökök mappát, ha nincs jelen.

GYIK

Hogyan győződjön meg arról, hogy a legújabb v2 ügynökverzióval rendelkezem?

  1. Lépjen az Ügynökkészletek lapra:

    1. Jelentkezzen be a szervezetbe (https://dev.azure.com/{yourorganization}).

    2. Válassza az Azure DevOps szervezeti beállításait.

      Válassza a Szervezeti beállítások lehetőséget.

    3. Válassza az Ügynökkészletek lehetőséget.

      Válassza az Ügynökkészletek lapot.

    1. Jelentkezzen be a projektgyűjteménybe (http://your-server/DefaultCollection).

    2. Válassza az Azure DevOps gyűjteménybeállításait.

      Válassza a Gyűjtemény beállításai lehetőséget.

    3. Válassza az Ügynökkészletek lehetőséget.

      Válassza az Ügynökkészletek lehetőséget.

    1. Válassza az Azure DevOps gyűjteménybeállításait.

      Gyűjteménybeállítások, 2019.

    2. Válassza az Ügynökkészletek lehetőséget.

      Válassza az Ügynökkészletek 2019 lehetőséget.

  2. Kattintson az ügynököt tartalmazó készletre.

  3. Győződjön meg arról, hogy az ügynök engedélyezve van.

  4. Lépjen a Képességek lapra:

    1. Az Ügynökkészletek lapon válassza ki a kívánt ügynökkészletet.

      Az ügynökkészletekből válassza ki a kívánt ügynökkészletet.

    2. Válassza ki az Ügynökök lehetőséget, és válassza ki a kívánt ügynököt.

      Válassza az Ügynökök lehetőséget, és válassza ki az ügynököt.

    3. Válassza a Képességek lapot.

      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.

    1. Az Ügynökkészletek lapon válassza ki a kívánt készletet.

      Válassza ki a kívánt készletet.

    2. Válassza ki az Ügynökök lehetőséget, és válassza ki a kívánt ügynököt.

      Válassza ki az Ügynökök lehetőséget, és válassza ki a kívánt ügynököt.

    3. Válassza a Képességek lapot.

      Ügynök képességei lap.

    1. Az Ügynökkészletek lapon válassza ki a kívánt készletet.

      Válassza ki a kívánt lapot, 2019.

    2. Válassza ki az Ügynökök lehetőséget, és válassza ki a kívánt ügynököt.

      Válassza ki a kívánt ügynök, 2019.

    3. Válassza a Képességek lapot.

      Válassza a Képességek lapot, 2019.

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

  6. 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ő v2-ü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.

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

  2. 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 %ProgramData%\Microsoft\Azure DevOps\Agents mappába. Hozza létre az Ügynökök mappát, ha nincs jelen.

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

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. Ezek konkrétan a következők:

  • 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. Ha Microsoft által üzemeltetett ügynököt használ, nem kapja meg ezeket az előnyöket (kivéve, ha olyan funkciókat használ, mint a gyorsítótárazás), mert az ügynök megsemmisül a buildelési vagy kiadási folyamat befejezése után.

  • A Microsoft által üzemeltetett ügynökök létrehozása hosszabb időt is igénybe vehet. Bár a feladat microsoftos üzemeltetésű ügynökhöz való hozzárendelése gyakran csak néhány másodpercet vesz igénybe, 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 használható az olyan ügynökök számára, 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. Előfordulhat például, hogy nem érdemes olyan ügynököknek, amelyek olyan buildeket futtatnak, amelyek sok lemezt és I/O-erőforrást 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 például frissíthet egy függőséget, míg egy másik build a használat közepén van, ami megbízhatatlan eredményeket és hibákat okozhat.

Mi az ügynökök viselkedése 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 feldolgozási sor 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ődött be, a rendszer egy második parancsot küld 2,5 másodperces időtúllépéssel. Ha a folyamat nem fejeződött be, az ügynök kiad egy parancsot a folyamat leállítására. Ha a folyamat nem tesz eleget a két kezdeti leállítási kérésnek, a rendszer kívülről leállítja. A kezdeti kérelemtől a befejezésig körülbelül 10 másodperc telik el.

A feldolgozási sor 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 a SIGINT, majd a SIGTERM, majd a SIGKILL.
  • Windows – A folyamatnak küldött parancsok a Ctrl+C, majd a Ctrl+Break, majd a Process.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ó az API és az Azure DevOps Server verzióleképezéséről: 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 Hamis húr A frissíteni kívánt ügynök. Ha nincs megadva, a frissítés minden ügynök esetében aktiválódik.
organization ösvény Igaz húr Az Azure DevOps-szervezet neve.
poolId ösvény Igaz egész szám int32 A használni kívánt ügynökkészlet
api-version Lekérdezés Hamis húr A használni kívánt API verziója. Ennek az API ezen verziójának használatához a "6.0" értéket kell beállítani.

Ügynökfrissítés aktiválásához a kérelem törzsének üresnek kell lennie.

Feljegyzés

Az Azure Pipelines-ügynök nyílt forráskód a GitHubon.

További információ

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.