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


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

Azure DevOps Services

A Windows, az Azure és más Visual Studio-megoldások létrehozásához és üzembe helyezéséhez legalább egy Windows-ügynökre lesz szüksége. A Windows-ügynökök Java- és Android-alkalmazásokat is készíthetnek.

Ez a cikk útmutatást nyújt a 3.x ügynökszoftvernek az Azure DevOps Services szolgáltatással és az Azure DevOps Server aktuális verzióival való használatához. A 3.x ügynököt támogató Azure DevOps Server-verziók listáját lásd: Támogatja-e az Azure DevOps Server a 3.x ügynököt.

Feljegyzés

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

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

Ha már tudja, mi az ügynök, és hogyan működik, nyugodtan ugorjon a következő szakaszokba. Ha azonban további háttérre van szüksége a működésükről és működésükről, tekintse meg az Azure Pipelines-ügynököket.

Előfeltételek ellenőrzése

Győződjön meg arról, hogy a gép rendelkezik az alábbi előfeltételekkel:

  • Operációs rendszer verziója
    • Ügyfél operációs rendszere
      • Windows 7 SP1 ESU
      • Windows 8.1
      • Windows 10
      • Windows 11
    • Kiszolgáló operációs rendszere
      • Windows Server 2012 vagy újabb
  • Az ügynökszoftver telepíti a .NET saját verzióját, így nincs .NET-előfeltétel.
  • PowerShell 3.0 vagy újabb
  • Subversion – Ha egy Subversion-adattárból készül, telepítenie kell a Subversion-ügyfelet a gépre.
  • Ajánlott – Visual Studio buildelési eszközök (2015-ös vagy újabb verzió)

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

Hardveres specifikációk

Az ügynökök hardveres specifikációi az igényeitől, a csapat méretétől stb. függően változnak. Nem lehet olyan általános javaslatot tenni, amely mindenkire vonatkozni fog. Referenciaként az Azure DevOps csapata az üzemeltetett ügynökök kódját üzemeltetett ügynököket használó folyamatok használatával hozza létre. Másrészt az Azure DevOps-kód nagy részét 24 magos kiszolgálóosztályú gépek készítik, és négy saját üzemeltetésű ügynököt futtatnak.

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

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

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

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

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

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

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

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

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

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

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

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

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

Egyébként:

  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 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. Jelölje ki a készletet a lap jobb oldalán, majd kattintson a Biztonság gombra.

  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 üzembehelyezési csoport ügynök, a rendszergazda lehet üzembehelyezési csoport rendszergazdája, Azure DevOps-szervezet tulajdonosa, TFS- vagy Azure DevOps Server-rendszergazda.

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

Feljegyzés

Ha a következőhöz hasonló üzenet jelenik meg: Sajnáljuk, nem sikerült hozzáadni az identitást. Próbálkozzon egy másik identitással. Valószínűleg követte a fenti lépéseket egy szervezettulajdonos, a TFS vagy az Azure DevOps Server rendszergazdája esetében. Nem kell semmit tennie; már rendelkezik engedéllyel az ügynökkészlet felügyeletéhez.

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

Azure Pipelines

  1. Jelentkezzen be a gépre azzal a fiókkal, amelyhez a fent 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 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.

  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 válassza a Windows lehetőséget.

  5. A bal oldali panelen válassza ki a számítógépen telepített Windows OPERÁCIÓS-verzió processzorarchitektúráját. Az x64-ügynök verziója 64 bites Windowshoz készült, míg az x86-os verzió a 32 bites Windowshoz készült. Ha nem biztos abban, hogy a Windows melyik verziója van telepítve, az alábbi útmutatást követve megtudhatja.

  6. A jobb oldali panelen kattintson a Letöltés gombra.

  7. Az ügynök letöltéséhez kövesse az oldalon található utasításokat.

  8. Csomagolja ki az ügynököt a választott könyvtárba. Győződjön meg arról, hogy a könyvtár elérési útja nem tartalmaz szóközöket, mert az eszközök és szkriptek nem mindig menekülnek megfelelően a szóközök elől. Az ajánlott mappa a .C:\agents A letöltési mappában vagy más felhasználói mappákban való kinyerés engedélyproblémákat okozhat.

Fontos

Határozottan javasoljuk, hogy konfigurálja az ügynököt egy emelt szintű PowerShell-ablakból. Ha szolgáltatásként szeretne konfigurálni, ez szükséges.

Az ügynök konfigurálásához ne használja a Windows PowerShell ISE-t .

Fontos

Biztonsági okokból javasoljuk, hogy győződjön meg arról, hogy az ügynökmappát (C:\agents) csak a rendszergazdák szerkeszthetik.

Feljegyzés

Az ügynökkonfigurációhoz ne használjon mentaalapú felületeket, például git-basht. A Mentty nem teljes mértékben kompatibilis a natív Input/Output Windows API-val (erről itt talál néhány információt), és nem tudjuk garantálni, hogy a telepítő szkript ebben az esetben megfelelően működjön.

Az ügynök telepítése

  1. Indítson el egy emelt szintű (PowerShell-) ablakot, és állítsa be az ügynök kicsomagolásának helyét.

    cd C:\agents 
    
    
  2. Futtassa az config.cmd parancsot. Ez kérdések sorozatát fogja feltenni az ügynök konfigurálásához.

    .\config.cmd
    
    

Kiszolgáló URL-címe

Amikor a telepítő a kiszolgáló URL-címét kéri az Azure DevOps Serviceshez, válaszoljon https://dev.azure.com/{your-organization}.

Amikor a telepítő a kiszolgáló URL-címét kéri, az Azure DevOps Server esetében válaszoljon https://{my-server}/{my-collection}.

Ügynökbeállítás hitelesítési típusa

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

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

  • A TFS-hez való csatlakozás egyeztetése a bejelentkezett felhasználótól eltérő felhasználóként windowsos hitelesítési sémán keresztül, például NTLM-en vagy Kerberoson keresztül. Miután kiválasztotta az Egyeztetés lehetőséget, a rendszer kérni fogja a hitelesítő adatokat.
  • Integrált (alapértelmezett) Windows-ügynök csatlakoztatása a TFS-hez a bejelentkezett felhasználó hitelesítő adataival egy Windows-hitelesítési sémán keresztül, például NTLM vagy Kerberos használatával. A metódus kiválasztása után a rendszer nem kéri a hitelesítő adatokat.

Fontos

A kiszolgálót úgy kell konfigurálni, hogy támogassa a hitelesítési módszert az alternatív, egyeztetési vagy integrált hitelesítés használatához.

Az ügynök regisztrálásához használt hitelesítési módszer csak az ügynökregisztráció során használatos. Ha többet szeretne megtudni arról, hogy az ügynökök hogyan kommunikálnak az Azure Pipelines szolgáltatással a regisztráció után, tekintse meg az Azure Pipelinessal vagy a TFS-szel való kommunikációt ismertető témakört.

Interaktív vagy szolgáltatási mód kiválasztása

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

Ha úgy dönt, hogy szolgáltatásként fut (ezt javasoljuk), a futtatott felhasználónévnek 20 karakternek vagy kevesebbnek kell lennie.

Az ügynök futtatása

Interaktív futtatás

Ha úgy konfigurálta az ügynököt, hogy interaktívan fusson, futtassa az alábbi parancsot az ügynök elindításához.

.\run.cmd

Az ügynök újraindításához nyomja le a Ctrl+C billentyűkombinációt az ügynök leállításához, majd futtassa run.cmd az újraindításhoz.

Feljegyzés

Ha az ügynököt a PowerShell Core-ból futtatja a Windows PowerShell-feladatok végrehajtásához, előfordulhat, hogy a folyamat meghiúsul egy olyan hibával, mint a Error in TypeData "System.Security.AccessControl.ObjectSecurity": The member is already present. Ennek az az oka, hogy a Windows PowerShell örökli a PSModulePath környezeti változót, amely a PowerShell Core-modul helyeit is tartalmazza a szülőfolyamatból.

Áthidaló megoldásként beállíthatja az ügynök gombját AZP_AGENT_CLEANUP_PSMODULES_IN_POWERSHELL true a folyamatban. Ez lehetővé teszi az ügynök alaphelyzetbe állítását PSModulePath a feladatok végrehajtása előtt.

variables:
 AZP_AGENT_CLEANUP_PSMODULES_IN_POWERSHELL: "true"

Ha ez a kerülő megoldás nem oldja meg a problémát, vagy ha egyéni modulhelyeket kell használnia, az ügynök futtatása előtt igény szerint beállíthatja a $Env:PSModulePath változót a PowerShell Core-ablakban.

Futtatás egyszer

Azt is beállíthatja, hogy az ügynök csak egy feladatot fogadjon el, majd lépjen ki. Ha ebben a konfigurációban szeretne futni, használja az alábbi parancsot.

.\run.cmd --once

Az ebben a módban lévő ügynökök csak egy feladatot fogadnak el, majd kecsesen pörögnek le (ez hasznos lehet a Dockerben egy olyan szolgáltatáson, mint az Azure Container Instances).

Futtatás szolgáltatásként

Ha úgy konfigurálta az ügynököt, hogy szolgáltatásként fusson, az automatikusan elindul. A szolgáltatások beépülő modulból megtekintheti és szabályozhatja a futó ügynök állapotát. Futtassa services.msc és keresse meg az alábbiak egyikét:

  • "Azure Pipelines-ügynök (az ügynök neve)"
  • "VSTS-ügynök (az ügynök neve)"
  • "vstsagent. (szervezet neve). (az ügynök neve)"

Feljegyzés

A szolgáltatásként futó ügynökök hozzáférés-vezérlésének nagyobb rugalmassága érdekében az ügynökszolgáltatás SID-típusát [SERVICE_SID_TYPE_UNRESTRICTED] jelölővel vagy kéréssel lehet beállítani az interaktív konfigurációs folyamat során. Alapértelmezés szerint az ügynökszolgáltatás konfigurálva van a következővel SERVICE_SID_TYPE_NONE: .

A SID-típusokkal kapcsolatos további részletekért tekintse meg ezt a dokumentációt.

Az ügynök újraindításához kattintson a jobb gombbal a bejegyzésre, és válassza az Újraindítás parancsot.

Feljegyzés

Ha módosítania kell az ügynök bejelentkezési fiókját, ne tegye azt a Szolgáltatások beépülő modulból. Ehelyett tekintse meg az alábbi információkat az ügynök újrakonfigurálásához.

Az ügynök használatához futtasson egy feladatot az ügynök készletével. Ha nem választott másik készletet, az ügynök az Alapértelmezett készletben lesz.

Ügynök cseréje

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

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

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

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

.\config remove

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

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

Az ügynök emberi beavatkozás nélkül is beállítható szkriptből. Át kell adnia --unattended a válaszokat az összes kérdésre.

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

Kötelező beállítások

  • --unattended - az ügynök beállítása nem kér információt, és minden beállítást meg kell adni a parancssorban
  • --url <url> - A kiszolgáló URL-címe. Például: https://dev.azure.com/myorganization vagy http://my-azure-devops-server:8080/tfs
  • --auth <type> - hitelesítési típus. Az érvényes értékek a következők:
    • pat (Személyes hozzáférési jogkivonat)
    • SP(Szolgáltatásnév) (Az ügynök 3.227.1-es vagy újabb verzióját igényli)
    • negotiate (Kerberos vagy NTLM)
    • alt (Alapszintű hitelesítés)
    • integrated (A Windows alapértelmezett hitelesítő adatai)

Hitelesítési lehetőségek

  • Ha a következőt választotta --auth pat:
    • --token <token> - megadja a személyes hozzáférési jogkivonatot
    • Paraméterként --token OAuth 2.0-jogkivonatot is átadhat.
  • Ha a következőt választotta, --auth negotiate vagy --auth alt:
    • --userName <userName> - a Windows-felhasználónevet a következő formátumban domain\userName adja meg: userName@domain.com
    • --password <password> - jelszót ad meg
  • Ha a következőt választotta --auth SP:
    • --clientID <clientID> - megadja a szolgáltatásnév ügyfél-azonosítóját az ügynökök regisztrálásához való hozzáféréssel
    • --tenantId <tenantID> - megadja azt a bérlőazonosítót, amelyben a szolgáltatásnév regisztrálva van
    • --clientSecret <clientSecret> - megadja a szolgáltatásnév ügyféltitkát
    • További információ: Ügynök regisztrálása szolgáltatásnév használatával

Készlet- és ügynöknevek

  • --pool <pool> - a csatlakozni kívánt ügynök készletneve
  • --agent <agent> - ügynök neve
  • --replace - cserélje le az ügynököt egy készletben. Ha egy másik ügynök ugyanazzal a névvel figyel, ütközéssel fog meghiúsulni

Ügynök beállítása

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

Csak Windows rendszerű indítás

  • --runAsService – konfigurálja az ügynököt Windows-szolgáltatásként való futtatásra (rendszergazdai engedély szükséges)
  • --runAsAutoLogon – automatikus bejelentkezés konfigurálása és az ügynök futtatása indításkor (rendszergazdai engedély szükséges)
  • --windowsLogonAccount <account>- a Windows-felhasználónév formátumában --runAsService vagy megadására domain\userName szolgál, vagy --runAsAutoLogonuserName@domain.com
  • --windowsLogonPassword <password>- a Windows bejelentkezési jelszavával --runAsService vagy --runAsAutoLogon megadásával használható (a csoportosan felügyelt szolgáltatásfiókokhoz és az olyan beépített Windows-fiókokhoz, mint az NT AUTHORITY\NETWORK SERVICE)
  • --enableservicesidtypeunrestricted- az ügynök szolgáltatás SID-típussal SERVICE_SID_TYPE_UNRESTRICTED való konfigurálásához használható--runAsService(rendszergazdai engedély szükséges)
  • --overwriteAutoLogon - a --runAsAutoLogon meglévő automatikus bejelentkezés felülírására szolgál a gépen
  • --noRestart - a --runAsAutoLogon gazdagép újraindításának leállítására szolgál az ügynökkonfiguráció befejezése után

Az ügynök beállítással történő konfigurálásának hibaelhárítása runAsAutoLogon

Az ügynök beállítással runAsAutoLogon való konfigurálása minden alkalommal futtatja az ügynököt a gép újraindítása után. Hajtsa végre a következő lépéseket, ha az ügynök nem fut a gép újraindítása után.

Ha az ügynök már konfigurálva van a gépen

Az ügynök újrakonfigurálása előtt el kell távolítani a régi ügynökkonfigurációt, ezért próbálja meg futtatni ezt a parancsot az ügynökmappából:

.\config.cmd remove --auth 'PAT' --token '<token>'

Ellenőrizze, hogy az ügynök el lett-e távolítva az ügynökkészletből a parancs végrehajtása után:

<Azure DevOps organization> / <Project> / Settings / Agent pools / <Agent Pool> / Agents

Távolítsa el manuálisan az ügynököt az ügynökkészletből, ha az nem lett eltávolítva a parancs futtatásával.

Ezután próbálja meg újra konfigurálni az ügynököt úgy, hogy az ügynökmappából futtatja a következő parancsot:

.\config.cmd --unattended --agent '<agent-name>' --pool '<agent-pool-name>' --url '<azure-dev-ops-organization-url>' --auth 'PAT' --token '<token>' --runAsAutoLogon --windowsLogonAccount '<domain\user-name>' --windowsLogonPassword '<windows-password>'

Adja meg az ügynök nevét (bármilyen egyedi nevet), és ellenőrizze, hogy az ügynök megjelent-e az ügynökkészletben az újrakonfigurálás után.

Sokkal jobb lesz kicsomagolni egy ügynökarchívumot (amely innen tölthető le), és futtatni ezt a parancsot az új kicsomagolt ügynökmappából.

Ellenőrizze, hogy a Windows beállításkulcsa helyesen van-e rögzítve és mentve

Futtassa a whoami /user parancsot a parancs lekéréséhez <sid>. Nyissa meg Registry Editor és kövesse az elérési utat:

Computer\HKEY_USERS\<sid>\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

Ellenőrizze, hogy van-e kulcs VSTSAgent . Ha létezik, törölje ezt a kulcsot, majd zárja be Registry Editor és konfigurálja az ügynököt az ügynökmappából a .\config.cmd parancs (args nélkül) futtatásával. A kérdés Enter Restart the machine at a later time?megválaszolása előtt nyissa meg Registry Editor újra, és ellenőrizze, hogy megjelent-e a VSTSAgent kulcs. Nyomja le Enter a választ a kérdésre, és ellenőrizze, hogy a kulcs a VSTSAgent helyén marad-e a gép újraindítása után.

Ellenőrizze, hogy a Windows beállításkulcsai jól működnek-e a számítógépen

Hozzon létre egy autorun.cmd fájlt, amely a következő sort tartalmazza: echo "Hello from AutoRun!". Nyisson meg Registry Editor és hozzon létre egy új kulcs-érték pár fölötti elérési úton a kulccsal AutoRun és az értékkel

C:\windows\system32\cmd.exe /D /S /C start "AutoRun" "D:\path\to\autorun.cmd"

Indítsa újra a gépet. Probléma merült fel a Windows beállításkulcsaival kapcsolatban, ha nem jelenik meg az Hello from AutoRun! üzenethez tartozó konzolablak.

Csak üzembehelyezési csoport

  • --deploymentGroup - konfigurálja az ügynököt üzembehelyezési csoport ügynökeként
  • --deploymentGroupName <name> - a --deploymentGroup csatlakoztatni kívánt ügynök üzembehelyezési csoportjának megadására szolgál
  • --projectName <name> - a projekt nevének beállításához --deploymentGroup használatos
  • --addDeploymentGroupTags - az üzembehelyezési csoport címkéinek hozzáadásának jelzésére --deploymentGroup szolgál
  • --deploymentGroupTags <tags> - az üzembehelyezési csoport ügynöke címkéinek vesszővel --addDeploymentGroupTags tagolt listájának megadásával használható – például "web, db"

Csak környezetek

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

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

Diagnosztika

Ha problémába ütközik a saját üzemeltetésű ügynökével, próbálja meg futtatni a diagnosztikát. Az ügynök konfigurálása után:

.\run --diagnostics

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

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

Adja meg az érték értékét Agent.Diagnostic , true hogy további naplókat gyűjtsön, amelyek a saját üzemeltetésű ügynökök hálózati problémáinak elhárításához használhatók. További információ: Hálózati diagnosztika saját üzemeltetésű ügynökökhöz

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

További lehetőségek:

.\config --help

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

Képességek

Az ügynök képességei katalógusba vannak sorolva és meghirdetve a készletben, így csak a kezelni kívánt buildek és kiadások lesznek hozzá rendelve. Tekintse meg a buildelési és kiadási ügynök képességeit.

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

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

Fontos

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

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

GYIK

A Git melyik verzióját futtatja az ügynököm?

A Windows-ügynök alapértelmezés szerint az ügynökszoftverhez csomagolt Git-verziót használja. A Microsoft azt javasolja, hogy használja az ügynökkel együtt csomagolt Git-verziót, de számos lehetősége van az alapértelmezett viselkedés felülbírálására, és a Git azon verziójának használatára, amelyet az ügynökgép telepített az útvonalon.

A folyamat által használt Git-verzió megtekintéséhez megtekintheti a folyamat egy checkout lépésének naplóit, ahogyan az az alábbi példában is látható.

Syncing repository: PathFilter (Git)
Prepending Path environment variable with directory containing 'git.exe'.
git version
git version 2.26.2.windows.1

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

  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ő ü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. Minden be van állítva! Az Azure DevOps Server mostantól a helyi fájlokat fogja használni az ügynökök frissítésekor. Minden ügynök automatikusan frissíti magát, amikor olyan feladatot futtat, amely az ügynök újabb verzióját igényli. Ha azonban manuálisan szeretne frissíteni néhány ügynököt, kattintson a jobb gombbal a készletre, majd válassza az Összes ügynök frissítése lehetőséget.

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

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

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

Annak biztosítása érdekében, hogy a szervezet együttműködjön a meglévő tűzfal- vagy IP-korlátozásokkal, győződjön meg arról, hogy dev.azure.com nyitva vannak, *dev.azure.com és frissítik az engedélyezett IP-címeket, hogy az IP-verzió alapján az alábbi IP-címeket tartalmazzák. Ha jelenleg engedélyezve van az és az 13.107.6.183 13.107.9.183 IP-címek felsorolása, hagyja őket helyben, mivel nem kell eltávolítania őket.

IPv4-tartományok

  • 13.107.6.0/24
  • 13.107.9.0/24
  • 13.107.42.0/24
  • 13.107.43.0/24

IPv6-tartományok

  • 2620:1ec:4::/48
  • 2620:1ec:a92::/48
  • 2620:1ec:21::/48
  • 2620:1ec:22::/48

Feljegyzés

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

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

Feljegyzés

Az ügynök önaláírt tanúsítvánnyal való futtatása csak az Azure DevOps Serverre vonatkozik.

Az ügynök futtatása önaláírt tanúsítvánnyal

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

Az ügynök futtatása webproxy mögött

Hogyan indítsa újra az ügynököt

Ha interaktívan futtatja az ügynököt, tekintse meg a Futtatás interaktívan című témakör újraindítási utasításait. Ha szolgáltatásként futtatja az ügynököt, indítsa újra az ügynököt a Futtatás szolgáltatásként lépésekkel.

Hogyan különböző környezeti változókat beállítani minden egyes ügynökhöz?

Hozzon létre egy .env fájlt az ügynök gyökérkönyvtára alatt, és helyezze a fájlba beállítani kívánt környezeti változókat az alábbi formátumban, majd indítsa újra az ügynököt.

MyEnv0=MyEnvValue0
MyEnv1=MyEnvValue1
MyEnv2=MyEnvValue2
MyEnv3=MyEnvValue3
MyEnv4=MyEnvValue4

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

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

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

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

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

https://dev.azure.com
https://*.dev.azure.com
https://login.microsoftonline.com
https://management.core.windows.net
https://vstsagentpackage.azureedge.net
https://vssps.dev.azure.com

Annak biztosítása érdekében, hogy a szervezet együttműködjön a meglévő tűzfal- vagy IP-korlátozásokkal, győződjön meg arról, hogy dev.azure.com nyitva vannak, *dev.azure.com és frissítik az engedélyezett IP-címeket, hogy az IP-verzió alapján az alábbi IP-címeket tartalmazzák. Ha jelenleg engedélyezve van az és az 13.107.6.183 13.107.9.183 IP-címek felsorolása, hagyja őket helyben, mivel nem kell eltávolítania őket.

IPv4-tartományok

  • 13.107.6.0/24
  • 13.107.9.0/24
  • 13.107.42.0/24
  • 13.107.43.0/24

IPv6-tartományok

  • 2620:1ec:4::/48
  • 2620:1ec:a92::/48
  • 2620:1ec:21::/48
  • 2620:1ec:22::/48

Feljegyzés

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

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

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

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

A helyszíni TFS-t használom, és ezek közül néhányat nem látok. Miért igaz a fenti mondat?

Ezen funkciók némelyike csak az Azure Pipelinesban érhető el, és még nem érhető el a helyszínen. Egyes funkciók a helyszínen is elérhetők, ha a TFS legújabb verziójára frissített.

Mi engedélyezve van az ügynökszolgáltatás SERVICE_SID_TYPE_UNRESTRICTED?

Ha az ügynökszoftvert Windows Serveren konfigurálja, az alábbi parancssorból megadhatja a szolgáltatás biztonsági azonosítóját.

Enter enable SERVICE_SID_TYPE_UNRESTRICTED for agent service (Y/N) (press enter for N)

Az ügynökszoftver korábbi verziói a szolgáltatásbiztonsági azonosító típusát SERVICE_SID_TYPE_NONEaz aktuális ügynökverziók alapértelmezett értékére állítják be. A biztonsági szolgáltatás azonosítótípusának konfigurálásához nyomja Yle a következőtSERVICE_SID_TYPE_UNRESTRICTED: .

További információ: SERVICE_SID_INFO struktúra és biztonsági azonosítók.