Megosztás a következőn keresztül:


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. 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épeken 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, amelyben az ügynököket ellátó 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 Virtual Machine Scale Sets használatával automatikusan skálázható, saját üzemeltetésű ügynökök egy formája, amely az igényeknek megfelelően automatikusan skálázható.

Ha az automatikusan skálázható, saját üzemeltetésű ügynökkészletek használatán gondolkodik, javasoljuk, hogy tekintse meg a felügyelt DevOps készleteket. További információ: Felügyelt DevOps-készletek összehasonlítása az Azure-beli virtuális gép méretezési csoport ügynökeivel és Felügyelt DevOps-készletek áttekintése.
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. 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 (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öket az Azure Pipelinesban vagy az Azure DevOps Serverben. 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éznie, hogy a Microsoft által üzemeltetett ügynökkészlet működik-e Önnek. Sok esetben a Legegyszerűbb módszer a Microsoft által üzemeltetett ügynökkészlet használata. 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épre, a feladatoknak megfelelően bármilyen más szoftvert telepíthet 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 20-ot használja univerzális kezelőként, azonban az ügyfelek továbbra is használhatnak olyan egyéni feladatokat, amelyek az élettartamuk végéhez tartozó Node 6, Node 10 vagy Node 16 kódtárakat használják. A lejárt élettartamú 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. További információért lásd: Node 6 támogatás.

  • 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ő feladatot, és nem szeretné, hogy a Node 6 telepítve legyen az ügynökgépen, az ügynököt a Másodlagos ü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-beli virtuálisgép-méretezési csoportok ügynökei a saját üzemeltetésű ügynökök egy olyan 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.

Meg kell adnia egy 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 kezeli az ügynökök skálázását.

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

Tipp.

A felügyelt DevOps-készletek egy új szolgáltatás, amely az Azure DevOps virtuálisgép-méretezési csoport ügynökkészleteinek fejlődése, ami még tovább egyszerűsíti az egyéni készletek létrehozását az egyéni készletek méretezhetőségének és megbízhatóságának javításával. A felügyelt DevOps-készletek egy teljes körűen felügyelt szolgáltatás, amelyben az ügynököket ellátó virtuális gépek vagy tárolók Microsoft Azure-előfizetésben vannak, és nem az Ön saját Azure-előfizetésében, például az Azure DevOps virtuálisgép-méretezési csoport ügynökkészletek használatakor.

Ha automatikusan skálázható, saját üzemeltetésű ügynökkészletek használatát fontolgatja, javasoljuk, hogy tekintse meg a felügyelt DevOps-készleteket. További információ: Felügyelt DevOps-készletek összehasonlítása az Azure Virtual Machine Scale Set ügynökeivel és Felügyelt DevOps-készletek áttekintése.

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:

  • biztonsági ajánlott eljárásokat valósít meg
  • eszközöket biztosít a költségek és a teljesítmény kiegyensúlyozására
  • útvonalakat biztosít a leggyakoribb forgatókönyvekhez
  • jelentősen csökkenti az egyéni készletek létrehozására és karbantartására fordított időt

A felügyelt DevOps-készletek az Azure DevOps virtuálisgép-méretezési csoport ügynökkészleteinek fejlődése. Az egyéni készletek méretezhetőségének és megbízhatóságának javításával még tovább egyszerűsítik az egyéni készletek létrehozását. A felügyelt DevOps-készletek egy teljes körűen felügyelt szolgáltatás, amelyben az ügynököket ellátó virtuális gépek vagy tárolók Microsoft Azure-előfizetésben vannak, és nem az Ön saját Azure-előfizetésében, például az Azure DevOps virtuálisgép-méretezési csoport ügynökkészletek használatakor. További információt a Felügyelt DevOps-készletek dokumentációjában talál.

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 futtathat a szervezetben, és az összes tö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, úgynevezett rendszerképességek vagy az Ön által definiált képességek, úgynevezett felhasználói képességek.

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 fel é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 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 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 szervezetébe (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. 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 az ügynök konfigurálását különböző topológiákban az alábbi példák szerint.

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

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

Íme egy gyakori kommunikációs minta az ügynök és az Azure Pipelines vagy az Azure DevOps Server között.

  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 rendszergazdájának identitására csak a regisztrációkor van szükség, és nem marad meg az ügynökön. 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 figyelő OAuth-jogkivonatot , és a feladatsor figyelésére használja.

  2. Az ügynök figyeli, hogy van-e új feladatkérés közzétéve az Azure Pipelines/Azure DevOps Server feladatsorában egy HTTP hosszú lekérdezés használatával. Ha egy feladat elérhető, az ügynök letölti a feladatot és egy feladatspecifikus OAuth-jogkivonatot. Az Azure Pipelines/Azure DevOps Server létrehoz egy rövid élettartamú jogkivonatot a folyamatban megadott hatókörű identitáshoz. A jogkivonatot az ügynök 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 forráskód eléréséhez vagy a teszteredmények feltöltéséhez.

  3. Az ügynök a feladat befejezése után elveti a feladatspecifikus OAuth-jogkivonatot, majd visszatér annak ellenőrzéséhez, hogy van-e új feladatkérés a figyelő OAuth-jogkivonatá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. 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 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, ezért ezek hibás vagy hiányzó szimbólumké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 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 a Team Foundation-kiszolgálóhoz való csatlakozáshoz, ahogyan az az alábbi séma szerint látható.

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

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

  • Az Azure DevOps Serverhez való csatlakozás egyeztetése a bejelentkezett felhasználótól eltérő felhasználóként egy Windows-hitelesítési sémán, például a New Technology LAN Manageren (NTLM) vagy a Kerberoson keresztül. Az Egyeztetés gomb kiválasztása után 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 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 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, 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 operációs rendszer szolgáltatáskezelőjével kezelheti az ügynök életciklusát. Emellett az ügynök automatikus felminősítésének élménye jobb, ha az ügynököt szolgáltatásként futtatja.

  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á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á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 autologonnal fut, egyszerűen zárja be a Távoli asztalt, a számítógép zárolva lesz, és az ügynökön futó felhasználói felületi tesztek sikertelenek lehetnek. A probléma 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. 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 windowsos hitelesítéssel szeretne feladatokat futtatni egy külső szolgáltatás eléréséhez, az ügynöknek egy, a 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 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 engedélyei korlátozottak, és a jelszavaik nem járnak le, ami azt jelenti, hogy 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

A Microsoft által üzemeltetett ügynökök mindig naprakészek. Ha az ügynök újabb verziója csak alverzióban különbözik, az Azure Pipelines automatikusan frissítheti a saját üzemeltetésű ügynököket. Ezt a beállítást az ügynökkészletekben konfigurálhatja, kiválaszthatja az ügynököt, a Beállítások – az alapértelmezett beállítás engedélyezve van. 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 egy újabb főverziója érhető el, előfordulhat, hogy manuálisan kell frissítenie az ügynököket. Az ügynököket egyszerűen frissítheti a szervezet Ügynökkészletek lapján. A folyamatok nem futtathatók kompatibilis ügynök nélkül

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 érhető el.

Ha interaktívan futtatja az ügynököt, vagy ha elérhető az ügynök újabb főverziója , akkor 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.

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.

Ügynök katalógusstruktúra

Ha 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: windowsosC:\agents\<agent version>, macOS /Users/runner/runners/<agent version> és Linuxon /home/vsts/agents/<agent version>.
  • saját üzemeltetésű ügynökök: windowsosC:\agent, macOS rendszeren Users/<username>/agent (~/agent) és Linuxon /home/vsts/agent.

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: windowsosC:\a, macOS-en /Users/runner/work és Linuxon/home/vsts/work.
  • saját üzemeltetésű ügynök: windowsosC:\agent\_work, macOS-en ~/agent/work és Linuxon /home/agent/_work.

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.0
   Linux: /home/vsts/agents/3.248.0
   macOS: /Users/runner/runners/3.248.0
saját üzemeltetésű ügynök:
   Windows: C:\agent
   Linux: 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:\a
   Linux: /home/vsts/work
   macOS: /Users/runner/work
saját üzemeltetésű ügynök:
   Windows: C:\agent\_work
   Linux: /home/agent/_work
   macOS: ~/agent/work
Agent.WorkFolder
Agent.RootDirectory
System.WorkFolder
Címtár/munkaterület létrehozása A folyamatfeladat futtatása Microsoft által üzemeltetett ügynök:
   Windows: C:\a\1
   Linux: /home/vsts/work/1
   macOS: /Users/runner/work/1
saját üzemeltetésű ügynök:
   Windows: C:\agent\_work\1
   Linux: /home/agent/_work/1
   macOS: ~/agent/work/1
Agent.BuildDirectory
Pipeline.Workspace
s – Forrás-/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 salmappájaként. Microsoft által üzemeltetett ügynök:
   Windows: C:\a\1\s
   Linux: /home/vsts/work/1/s
   macOS: /Users/runner/work/1/s
saját üzemeltetésű ügynök:
   Windows: C:\agent\_work\1\s
   Linux: /home/agent/_work/1/s
   macOS: ~/agent/work/1/s
Build.SourcesDirectory
Build.RepositoryLocalPath
System.DefaultWorkingDirectory
b – Bináris fájlok könyvtára A buildkimeneteket tartalmazza. Microsoft által üzemeltetett ügynök:
   Windows: C:\a\1\b
   Linux: /home/vsts/work/1/b
   macOS: /Users/runner/work/1/b
saját üzemeltetésű ügynök:
   Windows: C:\agent\_work\1\b
   Linux: /home/agent/_work/1/b
   macOS: ~/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\a
   Linux: /home/vsts/work/1/a
   macOS: /Users/runner/work/1/a
saját üzemeltetésű ügynök:
   Windows: C:\agent\_work\1\a
   Linux: /home/agent/_work/1/a
   macOS: ~/agent/work/1/a
Build.StagingDirectory
Build.ArtifactStagingDirectory
System.ArtifactsDirectory
TestResults könyvtá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\TestResults
   Linux: /home/vsts/work/1/TestResults
   macOS: /Users/runner/work/1/TestResults
saját üzemeltetésű ügynök:
   Windows: C:\agent\_work\1\TestResults
   Linux: /home/agent/_work/1/TestResults
   macOS: ~/agent/work/1/TestResults
Common.TestResultsDirectory

A Microsoft által üzemeltetett ügynökökön minden futtatáskor más-más ügynököt használnak, ezért a munkakönyvtár nem marad meg a futtatások között. A saját üzemeltetésű ügynökök esetében a futtatások között alapértelmezés szerint csak az előkészítési könyvtárat és a teszteredmény-könyvtárakat távolítja el a rendszer. 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?

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

    1. Jelentkezzen be a szervezetébe (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ő ü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. Ezek az előnyök csak akkor érhetők el a Microsoft által üzemeltetett ügynökkel, ha olyan funkciókat használ, 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 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őkorláttal 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 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. Az API ezen verziójának használatához az értéket 6.0-ra kell á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.