Saját üzemeltetésű Linux-ügynökök

Azure DevOps Szolgáltatások | Azure DevOps Server | Azure DevOps Server 2022

Ez a cikk útmutatást nyújt a 4.x ügynökszoftvernek az Azure DevOps Services és az Azure DevOps Server használatával való használatához.

Ez a cikk útmutatást nyújt a 3.x ügynökszoftvernek az Azure DevOps Server 2022 és az Azure DevOps Server 2020 használatával való használatához. A 3.x ügynököt támogató Azure DevOps Server-verziók listáját lásd a Az Azure DevOps Server támogatja a 3.x ügynökötszakaszban.

Fontos

Ha Az Azure DevOps Servicest vagy az Azure DevOps Servert használja, a 4.x ügynökszoftvert kell használnia.

A feladatok futtatásához legalább egy ügynökre van szüksége. A Linux-ügynökök különböző típusú alkalmazásokat hozhatnak létre és helyezhetnek üzembe, például Java- és Android-alkalmazásokat. Tekintse meg Támogatott Linux-disztribúciók listájának előfeltételeinek ellenőrzése.

Megjegyzés

Ez a cikk bemutatja, hogyan konfigurálhatja a saját üzemeltetésűügynököt. Ha az Azure DevOps Servicest használja, és egy Microsoft által üzemeltetett ügynök megfelel az igényeinek, kihagyhatja a saját üzemeltetésű Linux-ügynök beállítását.

Tudnivalók az ügynökökről

Ha már tudja, mi az ügynök, és hogyan működik, nyugodtan ugorjon a következő szakaszokba. Ha azonban további információra van szüksége a tevékenységükről és működésükről, tekintse meg Azure Pipelines-ügynökök.

Előfeltételek ellenőrzése

A 4.x ügynök a .NET 8-on alapul. Ezt az ügynököt több Linux-disztribúción is futtathatja. A .NET 8 támogatott disztribúcióinak alábbi részhalmazát támogatjuk:

  • Támogatott disztribúciók
    • x64
      • Debian 12
      • Fedora 39 és 40
      • openSUSE 15.5 és 15.6
      • Red Hat Enterprise Linux 8 és 9
      • SUSE Enterprise Linux 15.5
      • Ubuntu 24.04, 22.04, 20.04
      • Azure Linux 2.0
      • Oracle Linux 8 és 9
    • ARM64
      • Debian 11 és 12
      • Ubuntu 24.04, 22.04, 20.04
    • Alpine x64
  • Git – Platformtól függetlenül telepítenie kell a Git 2.9.0-s vagy újabb verzióját. Határozottan javasoljuk a Git legújabb verziójának telepítését.
  • .NET – Az ügynökszoftver a .NET 8-on fut, de telepíti a .NET saját verzióját, így nincs .NET-előfeltétel.
  • Subversion – Ha subversion-adattárból készül, telepítenie kell a Subversion-ügyfelet a gépre.
  • TFVC – Ha egy TFVC-adattárból építkezik, nézze meg a TFVC előfeltételeit.

Megjegyzés

Az ügynök telepítője tudja, hogyan kell más függőségeket ellenőrizni. Ezeket a függőségeket az ügynökkönyvtárban ./bin/installdependencies.sh futtatásával telepítheti a támogatott Linux-platformokra.

Ne feledje, hogy a .NET által megkövetelt függőségek némelyike harmadik fél oldalairól fejlődnek ki, mint például packages.efficios.com. A szkript futtatása előtt tekintse át a installdependencies.sh szkriptet, és győződjön meg arról, hogy a hivatkozott külső webhelyek elérhetők a Linux-gépről.

Győződjön meg arról is, hogy az összes szükséges adattár csatlakoztatva van a installdependencies.sh használt megfelelő csomagkezelőhöz (például apt vagy zypper).

A függőségek telepítésével kapcsolatos problémák esetén (például a "függőség nem található az adattárban" vagy a "probléma az adattár indexfájljának lekérésével" – további támogatásért lépjen kapcsolatba a terjesztési tulajdonossal.

A 3.x ügynök a .NET 6-on alapul. Ezt az ügynököt több Linux-disztribúción is futtathatja. A .NET 6 támogatott disztribúcióinak alábbi részhalmazát támogatjuk:

  • Támogatott disztribúciók
    • x64
      • Debian 10+
      • Fedora 36+
      • openSUSE 15+
      • Red Hat Enterprise Linux 7+
        • Már nincs szükség külön csomagra
      • SUSE Enterprise Linux 12 SP2 vagy újabb
      • Ubuntu 24.04, 22.04, 20.04, 18.04, 16.04
      • Azure Linux 2.0
      • Oracle Linux 7 és újabb
    • ARM64
      • Debian 10+
      • Ubuntu 22.04, 20.04, 18.04
    • Alpine x64
  • Git – Platformtól függetlenül telepítenie kell a Git 2.9.0-s vagy újabb verzióját. Határozottan javasoljuk a Git legújabb verziójának telepítését.
  • .NET – Az ügynökszoftver a .NET 6-on fut, de telepíti a .NET saját verzióját, így nincs .NET-előfeltétel.
  • Subversion – Ha subversion-adattárból készül, telepítenie kell a Subversion-ügyfelet a gépre.
  • TFVC – Ha egy TFVC-adattárból építkezik, nézze meg a TFVC előfeltételeit.

Megjegyzés

Az ügynök telepítője tudja, hogyan kell más függőségeket ellenőrizni. Ezeket a függőségeket az ügynökkönyvtárban ./bin/installdependencies.sh futtatásával telepítheti a támogatott Linux-platformokra.

Ne feledje, hogy a .NET által megkövetelt függőségek némelyike harmadik fél oldalairól fejlődnek ki, mint például packages.efficios.com. A szkript futtatása előtt tekintse át a installdependencies.sh szkriptet, és győződjön meg arról, hogy a hivatkozott külső webhelyek elérhetők a Linux-gépről.

Győződjön meg arról is, hogy az összes szükséges adattár csatlakoztatva van a installdependencies.sh használt megfelelő csomagkezelőhöz (például apt vagy zypper).

A függőségek telepítésével kapcsolatos problémák esetén (például a "függőség nem található az adattárban" vagy a "probléma az adattár indexfájljának lekérésével" – további támogatásért lépjen kapcsolatba a terjesztési tulajdonossal.

Először manuálisan kell futtatnia az ügynökbeállítást. Miután érezte, hogyan működnek az ügynökök, vagy ha több ügynök beállítását szeretné automatizálni, fontolja meg a felügyelet nélküli konfiguráció használatát.

Engedélyek előkészítése

A saját üzemeltetésű ügynökök információbiztonsága

Az ügynököt konfiguráló felhasználónak készletadminisztrátori engedélyekre van szüksége, de az ügynököt futtató felhasználó nem.

Az ügynök által felügyelt mappákat a lehető legkevesebb felhasználóra kell korlátozni, mert olyan titkos kulcsokat tartalmaznak, amelyek visszafejthetők vagy kiszúrhatók.

Az Azure Pipelines-ügynök egy olyan szoftvertermék, amelyet külső forrásokból letöltött kód végrehajtására terveztek. Ez eredendően a távoli kódvégrehajtási (RCE) támadások célpontja lehet.

Ezért fontos figyelembe venni a folyamatügynökök minden egyes, a munka elvégzéséhez szükséges egyéni használatát körülvevő fenyegetésmodellt, és el kell döntenie, hogy milyen minimális engedélyek adhatóak az ügynököt futtató felhasználónak, a gépnek, ahol az ügynök fut, azoknak a felhasználóknak, akik írási hozzáféréssel rendelkeznek a Folyamatdefinícióhoz, a git-adattárhoz, ahol a yaml tárolódik, vagy azon felhasználók csoportja, akik az új folyamatok készlethez való hozzáférését szabályozzák.

Ajánlott eljárás, hogy az ügynököt futtató identitás eltérjen attól az identitástól, amely rendelkezik az ügynök készlethez való csatlakoztatáshoz szükséges engedélyekkel. A hitelesítő adatokat (és más ügynökkel kapcsolatos fájlokat) létrehozó felhasználó eltér az elolvasni kívánt felhasználótól. Ezért biztonságosabb alaposan megfontolni az ügynökgép számára biztosított hozzáférést, valamint a bizalmas fájlokat, például naplókat és összetevőket tartalmazó ügynökmappákat.

Érdemes csak a DevOps-rendszergazdák és az ügynökfolyamatot futtató felhasználói identitás számára hozzáférést biztosítani az ügynökmappához. Előfordulhat, hogy a rendszergazdáknak ki kell vizsgálniuk a fájlrendszert a buildelési hibák megértéséhez, vagy naplófájlokat kell lekérni az Azure DevOps-hibák jelentéséhez.

Döntse el, hogy melyik felhasználót fogja használni

Egyszeri lépésként regisztrálnia kell az ügynököt. Az ügynöki üzenetsor felügyeletére jogosult személynek végre kell hajtania ezeket a lépéseket. Az ügynök nem fogja használni a személy hitelesítő adatait a mindennapi működés során, de a regisztráció elvégzéséhez szükséges. További információ az ügynökök kommunikációjáról.

Győződjön meg arról, hogy a felhasználó rendelkezik engedéllyel

Győződjön meg arról, hogy a használni kívánt felhasználói fiók rendelkezik engedéllyel az ügynök regisztrálásához.

A felhasználó Azure DevOps-szervezet tulajdonosa, TFS vagy Azure DevOps Server-rendszergazda? Itt állj le, van engedélye.

Egyébként:

  1. Nyisson meg egy böngészőt, és lépjen az Azure Pipelines-szervezet, az Azure DevOps Server vagy a TFS-kiszolgáló Ügynökkészletek lapjára:

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

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

      Képernyőkép a Szervezeti beállítások kiválasztásáról.

    3. Válassza ki az Ügynökkészleteket.

      Képernyőkép az Ügynökkészletek lap kiválasztásáról.

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

    2. Válassza ki az Azure DevOps>Gyűjtemény beállításai menüpontot.

      Képernyőkép a Gyűjtemény beállításainak kiválasztásáról.

    3. Válassza ki az Ügynökkészleteket.

      Válassza ki az Ügynökkészleteket.

    Képernyőkép az ügynökkészletek megtekintéséről és kiválasztásáról.

  2. Jelölje ki a medencét a lap jobb oldalán, majd kattintson a Biztonsággombra.

  3. Ha a használni kívánt felhasználói fiók nem jelenik meg, kérje meg a rendszergazdát, hogy vegye fel. A rendszergazda lehet ügynökkészlet-rendszergazda, Azure DevOps-szervezet tulajdonosa, TFS vagy Azure DevOps Server-rendszergazda.

    Ha az ügynök egy üzembehelyezési csoport tagja, akkor a rendszergazda lehet az üzembehelyezési csoport rendszergazdája, egy Azure DevOps-szervezet tulajdonosa, vagy egy TFS- vagy Azure DevOps Server-rendszergazda.

    Az Azure Pipelines Üzembe helyezési csoportok lapjának Biztonság fülén hozzáadhat egy felhasználót az üzembe helyezési csoport rendszergazdai szerepköréhez.

Megjegyzés

Ha a következőhöz hasonló üzenet jelenik meg: Az önazonosság szerepköre nem módosítható. Próbálkozzon egy másik identitással. Valószínűleg követte a fenti lépéseket egy szervezettulajdonos, a TFS vagy az Azure DevOps Server rendszergazdája esetében. Nem kell semmit tennie; már rendelkezik engedéllyel az ügynöki várólista kezeléséhez.

Az ügynök letöltése és konfigurálása

Azure Pipelines

  1. Jelentkezzen be a gépre azzal a fiókkal, amelyhez az előző szakaszban ismertetett módon engedélyeket készített.

  2. A webböngészőben jelentkezzen be az Azure Pipelinesba, és lépjen az Ügynökkészletek lapra:

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

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

      Képernyőkép a Szervezeti beállítások kiválasztásáról.

    3. Válassza ki az Ügynökkészleteket.

      Képernyőkép az Ügynökkészletek lap kiválasztásáról.

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

    2. Válassza ki az Azure DevOps>Gyűjtemény beállításai menüpontot.

      Képernyőkép a Gyűjtemény beállításainak kiválasztásáról.

    3. Válassza ki az Ügynökkészleteket.

      Válassza ki az Ügynökkészleteket.

    Képernyőkép az ügynökkészletek megtekintéséről és kiválasztásáról.

  3. Válassza az Alapértelmezett készletet, válassza az Ügynökök lapot, majd az Új ügynök lehetőséget.

  4. Az Ügynök lekérése párbeszédpanelen kattintson a(z) Linux.

  5. A bal oldali panelen válassza ki az adott ízt. Számos Linux-disztribúcióhoz kínálunk x64-et vagy ARM-t.

  6. A jobb oldali ablaktáblán kattintson a Letöltés gombra.

  7. Kövesse az oldalon található utasításokat.

  8. Csomagolja ki az ügynökprogramot a választott mappába. Lépjen a cd könyvtárba, és futtassa a ./config.sh parancsot.

Kiszolgáló URL-címe

Azure Pipelines: https://dev.azure.com/{your-organization}

Hitelesítési típus

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

Interaktív futtatás

Az ügynök interaktív módban vagy szolgáltatásként való futtatásával kapcsolatos útmutatásért tekintse meg az Ügynökök: Interaktív és szolgáltatás című témakört.

Az ügynök interaktív módon történő futtatása:

  1. Ha az ügynököt szolgáltatásként futtatta, távolítsa el a szolgáltatást.

  2. Futtasd az ügynököt.

    ./run.sh
    

Az ügynök újraindításához nyomja le a Ctrl+C billentyűkombinációt, majd a run.sh futtatásával indítsa újra.

Az ügynök használatához futtasson egy feladatot az ügynök erőforráskészletén. Ha nem választott másik készletet, az ügynök az Alapértelmezett készletbe kerül.

Egyszer fut

Az interaktív futtatásra konfigurált ügynökök esetében dönthet úgy, hogy az ügynök csak egy feladatot fogad el. Ebben a konfigurációban való futtatáshoz:

./run.sh --once

Az ebben a módban lévő ügynökök csak egy feladatot fogadnak el, majd fokozatosan állnak le, ami hasznos lehet Docker futtatása esetén egy olyan platformon, mint az Azure Container Instances.

Futtatás rendszerszintű szolgáltatásként

Ha az ügynök ezeken az operációs rendszereken fut, az ügynököt systemd szolgáltatásként futtathatja:

  • Ubuntu 16 LTS vagy újabb
  • Red Hat 7.1 vagy újabb

Példaként ./svc.sh szkriptet biztosítunk az ügynök systemd szolgáltatásként való futtatásához és kezeléséhez. Ez a szkript az ügynök konfigurálása után jön létre. Javasoljuk, hogy tekintse át, és szükség esetén frissítse a szkriptet a futtatás előtt.

Néhány fontos kikötés:

  • Ha az ügynököt szolgáltatásként futtatja, nem futtathatja az ügynökszolgáltatást root felhasználóként.
  • Az SELinux futtató felhasználók a megadott svc.sh szkripttel kapcsolatos nehézségekről számoltak be. Tekintse meg az ügynökkel kapcsolatos problémát, kiindulópontként. A SELinux nem hivatalosan támogatott konfiguráció.

Megjegyzés

Ha más elosztással rendelkezik, vagy más megközelítéseket szeretne használni, bármilyen szolgáltatási mechanizmust használhat. Lásd: Szolgáltatásfájlok.

Parancsok

Váltás az ügynöki könyvtárba

Ha például a kezdőkönyvtárad myagent almappájába telepíted:

cd ~/myagent$

Felszerel

Parancs:

sudo ./svc.sh install [username]

Ez a parancs létrehoz egy szolgáltatás fájlt, amely a ./runsvc.shhivatkozik. Ez a szkript beállítja a környezetet (további részletek alább), és elindítja az ügynök-adminisztrátort. Ha username paraméter nincs megadva, a felhasználónév a sudo parancs által beállított $SUDO_USER környezeti változóból származik. Ez a változó mindig megegyezik annak a felhasználónak a nevével, aki meghívta a sudo parancsot.

Kezdés

sudo ./svc.sh start

Állapot

sudo ./svc.sh status

Állj

sudo ./svc.sh stop

Eltávolítás

Az eltávolítás előtt meg kell állnod.

sudo ./svc.sh uninstall

Környezeti változók frissítése

A szolgáltatás konfigurálásakor pillanatképet készít az aktuális bejelentkezési felhasználó néhány hasznos környezeti változójáról, például a PATH, a LANG, a JAVA_HOME, a ANT_HOME és a MYSQL_PATH. Ha frissítenie kell a változókat (például egy új szoftver telepítése után):

./env.sh
sudo ./svc.sh stop
sudo ./svc.sh start

A környezeti változók pillanatképe .env fájlban (PATH.path) található az ügynök gyökérkönyvtárában, ezeket a fájlokat közvetlenül is módosíthatja a környezeti változók módosításainak alkalmazásához.

Utasítások futtatása a szolgáltatás elindítása előtt

A szolgáltatás indításakor saját utasításokat és parancsokat is futtathat. Beállíthatja például a környezetet, vagy meghívhat szkripteket.

  1. Szerkeszd runsvc.sh.

  2. Cserélje le a következő sort az utasításaidra:

    # insert anything to setup env when running as a service
    

Szolgáltatásfájlok

A szolgáltatás telepítésekor a rendszer néhány szolgáltatásfájlt üzembe helyez.

systemd szolgáltatás fájl

Létrejön egy systemd szolgáltatásfájl:

/etc/systemd/system/vsts.agent.{tfs-name}.{agent-name}.service

Például konfigurált egy ügynököt (lásd fent) a névvel our-linux-agent. A szolgáltatásfájl a következő lesz:

  • Azure Pipelines: a szervezet neve. Ha például csatlakozik a https://dev.azure.com/fabrikam-hoz, akkor a szolgáltatás neve /etc/systemd/system/vsts.agent.fabrikam.our-linux-agent.service lesz.

  • TFS vagy Azure DevOps Server: a helyszíni kiszolgáló neve. Ha például csatlakozik a http://our-server:8080/tfs-hoz, akkor a szolgáltatás neve /etc/systemd/system/vsts.agent.our-server.our-linux-agent.service lesz.

sudo ./svc.sh install ebből a sablonból hozza létre ezt a fájlt: ./bin/vsts.agent.service.template

.service fájl

sudo ./svc.sh start megkeresi a szolgáltatást a .service fájl elolvasásával, amely a fent leírt rendszerszintű szolgáltatásfájl nevét tartalmazza.

Alternatív szolgáltatási mechanizmusok

A ./svc.sh szkriptet kényelmesen biztosítjuk az ügynök rendszerezett szolgáltatásként való futtatásához és kezeléséhez. De bármilyen szolgáltatási mechanizmust használhat (például initd vagy upstart).

A fent leírt sablont más típusú szolgáltatásfájlok létrehozásának megkönnyítésére használhatja.

Cgroup használata az ügynök meghibásodásának elkerülése érdekében

Fontos elkerülni azokat a helyzeteket, amikor az ügynök meghibásodik vagy használhatatlanná válik, mert ellenkező esetben az ügynök nem tudja streamelni a folyamatnaplókat vagy a jelentési folyamat állapotát a kiszolgálóra. A cgroups és egy alacsonyabb oom_score_adjhasználatával csökkentheti annak a kockázatát, hogy a magas memóriaterhelés okozza ezt a problémát. Ezt követően a Linux visszanyeri a rendszermemóriát a folyamatfeladat-folyamatokból, mielőtt visszavennénk a memóriát az ügynökfolyamatból. Tanulja meg, hogyan konfigurálja a cgroups-et és az OOM-értéket.

Ügynök cseréje

Az ügynök cseréjéhez kövesse újra a Letöltés és az ügynök konfigurálása lépéseit.

Ha a már létező ügynök nevével megegyező néven konfigurál egy ügynököt, a rendszer megkérdezi, hogy szeretné-e lecserélni a meglévő ügynököt. Ha a Y-ra válaszol, győződjön meg róla, hogy eltávolítja a lecserélendő ügynököt (lásd alább). Ellenkező esetben néhány percnyi ütközés után az egyik ügynök leáll.

Ügynök eltávolítása és újrakonfigurálálása

Az ügynök eltávolítása:

  1. Állítsa le és távolítsa el a szolgáltatást az előző szakaszban leírtak szerint.

  2. Távolítsa el az ügynököt.

    ./config.sh remove
    
  3. Adja meg a hitelesítési adatait.

Miután eltávolította az ügynököt, újra konfigurálhatja.

Felügyelet nélküli konfiguráció

Az ügynök emberi beavatkozás nélkül is beállítható szkriptből. Sikeresen meg kell felelnie a --unattended és az összes kérdésre adott válaszok követelményeinek.

Az ügynök konfigurálásához ismernie kell a szervezet url-címét, illetve az ügynökök beállítására jogosult személy gyűjteményét és hitelesítő adatait. Az összes többi válasz megadása nem kötelező. Bármely parancssori paraméter megadható egy környezeti változóval is: írja be a nevét nagybetűsre és írja elé VSTS_AGENT_INPUT_. Például a VSTS_AGENT_INPUT_PASSWORDmegadása helyett --password.

Kötelező beállítások

  • --unattended - az ügynök beállítása nem kér információt, és minden beállítást meg kell adni a parancssorban
  • --url <url> – A kiszolgáló URL-címe. Például: https://dev.azure.com/myorganization vagy http://my-azure-devops-server:8080/tfs
  • --auth <type> – hitelesítési típus. Az érvényes értékek a következők:
    • pat (Személyes hozzáférési jogkivonat) – A PAT az egyetlen séma, amely az Azure DevOps Services szolgáltatással működik.
    • alt (alapszintű hitelesítés)

Hitelesítési lehetőségek

  • Ha a --auth pat-et választja:
    • --token <token> - meghatározza a személyes hozzáférési tokent
    • A PAT az egyetlen séma, amely az Azure DevOps Services szolgáltatással működik.
  • Ha --auth negotiate-t vagy --auth alt-t választotta:
    • --userName <userName> – felhasználónevet ad meg
    • --password <password> - jelszót ad meg

Pool- és ügynöknevek

  • --pool <pool> - az ügynök csatlakozási csoportneve
  • --agent <agent> – ügynök neve
  • --replace – cserélje le az ügynököt egy csoportban. Ha egy másik ügynök ugyanazzal a névvel működik, működésében konfliktus miatt meg fog hibásodni.

Ügynök beállítása

  • --work <workDirectory> – a feladatadatok tárolására szolgáló munkakönyvtár. Alapértelmezés szerint _work az ügynökkönyvtár gyökerében található. A munkakönyvtár egy adott ügynök tulajdonában van, és nem osztható meg több ügynök között.
  • --acceptTeeEula - fogadja el a Team Explorer Mindenhol végfelhasználói licencszerződést (csak macOS és Linux rendszeren)
  • --disableloguploads - ne streamelje vagy küldje el a konzolnapló kimenetét a kiszolgálónak. Ehelyett letöltheti őket az ügynök kiszolgáló fájlrendszeréből a feladat befejezése után.

Csak üzembe helyezési csoport

  • --deploymentGroup - konfigurálja az ügynököt üzembehelyezési csoport ügynökeként
  • --deploymentGroupName <name> - a --deploymentGroup üzembehelyezési csoport megadására szolgál, amelyhez az ügynök csatlakozni fog
  • --projectName <name>--deploymentGroup-el együtt a projektnév beállításához használva
  • --addDeploymentGroupTags – a --deploymentGroup használatával azt jelezzük, hogy az üzembehelyezési csoport címkéit hozzá kell adni
  • --deploymentGroupTags <tags> - a --addDeploymentGroupTags-vel együtt használható az üzembe helyezési csoport ügynöke címkéinek vesszővel elválasztott listájának megadásához – például "web, db"

Csak környezetekre vonatkozik

  • --addvirtualmachineresourcetags - azt jelzi, hogy a környezeti erőforráscímkéket hozzá kell adni
  • --virtualmachineresourcetags <tags> – a --addvirtualmachineresourcetags a környezeti erőforrásügynök címkéinek vesszővel tagolt listájának megadására szolgál – például "web, db"

./config.sh --help mindig felsorolja a legújabb szükséges és választható válaszokat.

Diagnosztika

Ha gondjai vannak a saját üzemeltetésű ügynökével, próbálja meg a diagnosztika futtatását. Az ügynök konfigurálása után:

./run.sh --diagnostics

Ez egy diagnosztikai csomagon fog keresztülfutni, amely segíthet a probléma elhárításában. A diagnosztikai funkció az ügynök 2.165.0-s verziójától kezdve érhető el.

Hálózati diagnosztika saját üzemeltetésű ügynökökhöz

Állítsa a Agent.Diagnostic értékét true-re annak érdekében, hogy összegyűjthessék a saját üzemeltetésű ügynökök hálózati problémáinak elhárításához használható további naplókat. További információ: Saját üzemeltetésű ügynökök hálózati diagnosztikái.

Súgó más beállításokhoz

Ha többet szeretne megtudni a további lehetőségekről:

./config.sh --help

A súgó tájékoztatást nyújt a hitelesítési alternatívákról és a felügyelet nélküli konfigurációról.

Képességek

Az ügynök képességei katalogizálva és meghirdetve vannak a poolban, így csak azokat a buildeket és kiadásokat rendelik hozzá, amelyeket képes kezelni. Lásd: Építési és kiadási ágens képességei.

Az ügynök üzembe helyezése után sok esetben szoftvereket vagy segédprogramokat kell telepítenie. Általában telepítenie kell az ügynökeire azokat a szoftvereket és eszközöket, amelyeket a fejlesztőgépen használ.

Ha például a build tartalmazza az npm feladatot, akkor a build csak akkor fut, ha van egy buildügynök a készletben, amelyen telepítve van az npm.

Fontos

A képességek közé tartozik az összes környezeti változó és az ügynök futtatásakor beállított értékek. Ha ezen értékek bármelyike megváltozik az ügynök futása közben, az ügynököt újra kell indítani az új értékek felvételéhez. Miután telepítette az új szoftvert egy ügynökre, újra kell indítania az ügynököt, hogy az új funkció megjelenjen a készletben, és a build futhasson.

Ha ki szeretné zárni a környezeti változókat képességekként, kijelölheti őket úgy, hogy beállít egy környezeti változót VSO_AGENT_IGNORE a figyelmen kívül hagyandó változók vesszővel tagolt listájával.

GYIK

Hogyan győződhetek meg arról, hogy a legújabb ü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>Organization beállításait.

      Képernyőkép a Szervezeti beállítások kiválasztásáról.

    3. Válassza ki az Ügynökkészleteket.

      Képernyőkép az Ügynökkészletek lap kiválasztásáról.

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

    2. Válassza ki az Azure DevOps>Gyűjtemény beállításai menüpontot.

      Képernyőkép a Gyűjtemény beállításainak kiválasztásáról.

    3. Válassza ki az Ügynökkészleteket.

      Válassza ki az Ügynökkészleteket.

    Képernyőkép az ügynökkészletek megtekintéséről és kiválasztásáról.

  2. Kattintson az ügynököt tartalmazó poolra.

  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.

      Ü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 ki a Képességek lapot.

      Megjegyzé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álatací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.

      Ügynökök kiválasztása és a kívánt ügynök kiválasztása.

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

      Ügynök képességei lap.

  5. Keresse meg a Agent.Version funkciót. Ezt az értéket a legújabb közzétett ügynökverzióval összevetheti. 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 csoportra, és válassza Az ügynökök frissítéselehető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 következő mappába:

  • Windows: %ProgramData%\Microsoft\Azure DevOps\Agents
  • Linux: usr/share/Microsoft/Azure DevOps/Agents
  • Macos: usr/share/Microsoft/Azure DevOps/Agents

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

  1. Kész vagy! 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 a Az összes ügynök frissítéselehetőséget.

Miért van szükség sudo-ra a szolgáltatásparancsok futtatásához?

./svc.sh systemctlhasznál , amelyhez sudoszükséges .

Forráskód: systemd.svc.sh.template a GitHubon

Tűzfalat használok, és a kódom az Azure Reposban van. Milyen URL-címekkel kell kommunikálnia az ügynöknek?

Ha egy tűzfal mögött biztonságos hálózaton futtat ügynököt, győződjön meg arról, hogy az ügynök kezdeményezhet kommunikációt az alábbi URL-címekkel és IP-címekkel.

Tartomány URL-je Leírás
https://{organization_name}.pkgs.visualstudio.com Azure DevOps Packaging API a {organization_name}.visualstudio.com tartományt használó szervezetek számára
https://{organization_name}.visualstudio.com A {organization_name}.visualstudio.com tartományt használó szervezetek számára
https://{organization_name}.vsblob.visualstudio.com Azure DevOps-telemetria a {organization_name}.visualstudio.com tartományt használó szervezetek számára
https://{organization_name}.vsrm.visualstudio.com Kiadáskezelési szolgáltatások a {organization_name}.visualstudio.com tartományt használó szervezetek számára
https://{organization_name}.vssps.visualstudio.com Azure DevOps Platform Services a {organization_name}.visualstudio.com tartományt használó szervezetek számára
https://{organization_name}.vstmr.visualstudio.com Azure DevOps Test Management Services a {organization_name}.visualstudio.com tartományt használó szervezetek számára
https://*.blob.core.windows.net Azure Artifacts
https://*.dev.azure.com A dev.azure.com tartományt használó szervezetek számára
https://*.vsassets.io Azure Artifacts a CDN-en keresztül
https://*.vsblob.visualstudio.com Azure DevOps-telemetria a dev.azure.com tartományt használó szervezetek számára
https://*.vssps.visualstudio.com Azure DevOps Platform Services a dev.azure.com tartományt használó szervezetek számára
https://*.vstmr.visualstudio.com Azure DevOps Test Management Services a dev.azure.com tartományt használó szervezetek számára
https://app.vssps.visualstudio.com A {organization_name}.visualstudio.com tartományt használó szervezetek számára
https://dev.azure.com A dev.azure.com tartományt használó szervezetek számára
https://login.microsoftonline.com Microsoft Entra-bejelentkezés
https://management.core.windows.net Azure Management API-k
https://download.agent.dev.azure.com Ügynökcsomag

Fontos

Az Azure DevOpshoz készült Edgio CDN ki lett állítva, ami megköveteli egy új tartomány URL-címének engedélyezését az ügynökszoftver letöltésére vonatkozó tűzfalszabályokban. Az új tartomány, amelyet fel kell venni az ügynök letöltési engedélyezett listájára, a következő: https://*.dev.azure.com. Ha a tűzfalszabályok nem engedélyezik a helyettesítő karaktereket, használja a .https://download.agent.dev.azure.com

Az Azure DevOps csapata a következő dátumig javasolja a módosítást:

  • 2025. május 1. az Azure DevOps Services számára
  • 2025. május 15. az Azure DevOps Server számára

További információkért tekintse meg a CDN-tartomány URL-címének módosítását a csatornákban található ügynökök számára.

Annak érdekében, hogy a szervezet kompatibilis legyen a meglévő tűzfal- vagy IP-korlátozásokkal, ellenőrizze, hogy dev.azure.com és *dev.azure.com nyitva vannak, és frissítse az engedélyezett IP-címek listáját a következő IP-címekkel az IP-verziója alapján. Ha jelenleg a 13.107.6.183 és 13.107.9.183 IP-címek engedélyezési listáján szerepelnek, hagyja őket a helyükön, mivel nem szükséges eltávolítani őket.


13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
150.171.22.0/24 
150.171.23.0/24 
150.171.73.0/24 
150.171.74.0/24 
150.171.75.0/24 
150.171.76.0/24

Megjegyzés

További információ az engedélyezett címekről: Engedélyezett címlisták és hálózati kapcsolatok.

Hogyan futtathatom az ügynököt önaláírt tanúsítvánnyal?

Futtassa az ügynököt önaláírt tanúsítvánnyal

Hogyan futtathatom az ügynököt egy webproxy mögött?

Az ügynök futtatása web proxy mögött

Hogyan indíthatom újra az ügynököt?

Ha interaktívan futtatja az ügynököt, tekintse meg a Futtatás interaktívan című témakör újraindítási utasításait. Ha systemd szolgáltatásként futtatja az ügynököt, kövesse a lépéseket: állítsa le, majd indítsa el az ügynököt.

Hogyan konfigurálhatom az ügynököt úgy, hogy megkerüljön egy webes proxyt, és csatlakozzon az Azure Pipelineshoz?

Ha azt szeretné, hogy az ügynök megkerülje a proxyt, és közvetlenül csatlakozzon az Azure Pipelineshoz, akkor úgy kell konfigurálnia a webes proxyt, hogy az ügynök hozzáférhessen a következő URL-címekhez.

A *.visualstudio.com tartományt használó szervezetek esetén:

https://login.microsoftonline.com
https://app.vssps.visualstudio.com 
https://{organization_name}.visualstudio.com
https://{organization_name}.vsrm.visualstudio.com
https://{organization_name}.vstmr.visualstudio.com
https://{organization_name}.pkgs.visualstudio.com
https://{organization_name}.vssps.visualstudio.com

A dev.azure.com tartományt használó szervezetek esetén:

https://dev.azure.com
https://*.dev.azure.com
https://login.microsoftonline.com
https://management.core.windows.net
https://download.agent.dev.azure.com
https://vssps.dev.azure.com

Annak érdekében, hogy a szervezet kompatibilis legyen a meglévő tűzfal- vagy IP-korlátozásokkal, ellenőrizze, hogy dev.azure.com és *dev.azure.com nyitva vannak, és frissítse az engedélyezett IP-címek listáját a következő IP-címekkel az IP-verziója alapján. Ha jelenleg a 13.107.6.183 és 13.107.9.183 IP-címek engedélyezési listáján szerepelnek, hagyja őket a helyükön, mivel nem szükséges eltávolítani őket.


13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
150.171.22.0/24 
150.171.23.0/24 
150.171.73.0/24 
150.171.74.0/24 
150.171.75.0/24 
150.171.76.0/24

Megjegyzés

Ez az eljárás lehetővé teszi, hogy az ügynök megkerüljön egy webes proxyt. A buildelési folyamatnak és a szkripteknek továbbra is kezelnie kell a webes proxy megkerülését a buildben futtatott minden feladathoz és eszközhöz.

Ha például NuGet-feladatot használ, konfigurálnia kell a webes proxyt, hogy támogassa a használt NuGet-hírcsatorna URL-címének megkerülését.

TFS-t használok, és a fenti szakaszok URL-címei nem működnek nekem. Hol kaphatok segítséget?

Webhely beállításai és biztonsága

Miért nem látom ezeket a funkciókat a helyszíni Azure DevOps Serveren?

Ezen funkciók némelyike csak az Azure DevOps Services szolgáltatásban érhető el, és nem érhető el a helyszíni Azure DevOps Serverhez. Egyes funkciók csak az Azure DevOps Server legújabb verziójában érhetők el.

A TFVC előfeltételei

Ha TFVC-t használ, szüksége lesz az Oracle Java JDK 1.6-os vagy újabb verziójára is. (Az Oracle JRE és az OpenJDK nem elegendő ehhez a célra.)

A TEE beépülő modul a TFVC funkcióihoz használható. Rendelkezik egy EULA-val, amelyet a konfiguráció során el kell fogadnia, ha a TFVC-vel szeretne dolgozni.

Mivel a TEE beépülő modul már nem kerül karbantartásra és elavult Java-függőségeket tartalmaz, az Agent 2.198.0 verziójától kezdve már nem szerepel az ügynök terjesztésében. A TEE beépülő modul azonban le lesz töltve az ellenőrzési feladat végrehajtása során, ha egy TFVC-adattárat ellenőriz ki. A TEE beépülő modul a feladat végrehajtása után törlődik.

Megjegyzés

Megjegyzés: Előfordulhat, hogy a fizetési feladat elindulása sokáig tart a letöltési mechanizmus miatt.

Ha az ügynök proxy vagy tűzfal mögött fut, a következő webhelyhez kell hozzáférnie: https://vstsagenttools.blob.core.windows.net/. A TEE beépülő modul erről a címről lesz letöltve.

Ha önkiszolgáló ügynököt használ, és problémákba ütközik a TEE letöltésével kapcsolatban, manuálisan telepítheti a TEE-t:

  1. Állítsd be a DISABLE_TEE_PLUGIN_REMOVAL környezeti vagy folyamatváltozót true értékre. Ez a változó megakadályozza, hogy az ügynök eltávolítsa a TEE beépülő modult a TFVC-adattár ellenőrzése után.
  2. Töltse le manuálisan a TEE-CLC 14.135.0-s verzióját a Team Explorer Everywhere GitHub-kiadásokból.
  3. Másolja át a TEE-CLC-14.135.0 mappa tartalmát a <agent_directory>/externals/tee-be.