Microsoft által üzemeltetett ügynökök

Azure DevOps Services

A Microsoft által üzemeltetett ügynökök csak a felhőben üzemeltetett Azure DevOps Servicesben érhetők el. Nem használhatja a Microsoft által üzemeltetett ügynököket vagy az Azure Pipelines-ügynökkészletet helyszíni TFS-sel vagy Azure DevOps Serverrel. Ezekkel a helyszíni verziókkal saját üzemeltetésű ügynököket kell használnia.

Fontos

Válasszon ki egy verziót az Azure DevOps Content Version választóból.

Válassza ki a cikk platformjának és verziójának megfelelő verzióját. A verzióválasztó a tartalomjegyzék felett található. Keresse meg az Azure DevOps-platformot és -verziót.

Ha a folyamatok az Azure Pipelinesban találhatók, akkor kényelmesen futtathatja a feladatokat egy Microsoft által üzemeltetett ügynökkel. A Microsoft által üzemeltetett ügynökök használatakor nem kell foglalkozunk a karbantartással és a frissítésekkel. Mindig a folyamat által megadott virtuálisgép-rendszerkép legújabb verzióját kapja meg. Minden alkalommal, amikor futtat egy folyamatot, egy friss virtuális gépet kap a folyamat minden feladatához. A virtuális gép egy feladat után el lesz vetve (ami azt jelenti, hogy a feladat által a virtuálisgép-fájlrendszerben végzett minden módosítás, például a kód kivétele, nem lesz elérhető a következő feladathoz). A Microsoft által üzemeltetett ügynökök közvetlenül a virtuális gépen vagy egy tárolóban futtathatnak feladatokat.

Az Azure Pipelines egy Előre meghatározott, Azure Pipelines nevű ügynökkészletet biztosít a Microsoft által üzemeltetett ügynökökkel.

Sok csapat számára ez a legegyszerűbb módja a feladatok futtatásának. Először kipróbálhatja, és ellenőrizheti, hogy működik-e a buildhez vagy az üzembe helyezéshez. Ha nem, használhat méretezési csoportügynököket vagy egy saját üzemeltetésű ügynököt.

Tipp.

Ingyenesen kipróbálhat egy Microsoft által üzemeltetett ügynököt.

Szoftver

Az Azure Pipelines-ügynökkészlet számos virtuálisgép-rendszerkép közül választhat, köztük eszközök és szoftverek széles skáláját.

Kép Klasszikus szerkesztőügynök specifikációja YAML virtuális gép képfelirata Belefoglalt szoftverek
Windows Server 2022 és Visual Studio 2022 windows-2022 windows-latest VAGY windows-2022 Láncszem
Windows Server 2019 és Visual Studio 2019 windows-2019 windows-2019 Láncszem
Ubuntu 22.04 ubuntu-22.04 ubuntu-latest VAGY ubuntu-22.04 Láncszem
Ubuntu 20.04 ubuntu-20.04 ubuntu-20.04 Láncszem
macOS 13 Ventura macOS-13 macOS-13 Láncszem
macOS 12 Monterey macOS-12 macOS-latest VAGY macOS-12 Láncszem
macOS 11 Big Sur (elavult) macOS-11 macOS-11 Láncszem

A klasszikus buildelési folyamatok alapértelmezett ügynökképe a Windows-2019, a YAML buildelési folyamatainak alapértelmezett ügynökképe pedig a ubuntu-latest. További információ: Készlet kijelölése a folyamatban.

Az egyes üzemeltetett ügynökök telepített szoftvereit a táblázatban található Mellékelt szoftverek hivatkozásra kattintva tekintheti meg. MacOS-rendszerképek használatakor manuálisan választhat az eszközverziók közül. További információ.

Legutóbbi frissítések

Javasoljuk, hogy az ügyfeleket újabb verziókba vagy saját üzemeltetésű ügynökbe migrálják.

A rendszerképeket használó folyamatok frissítéséről további információt és útmutatást a régebbi rendszerképek eltávolítása az Azure Pipelines által üzemeltetett készletekben című témakörben talál.

Feljegyzés

a macOS-kapacitás jelenleg korlátozott. A Linux és a Windows rendszerképekkel ellentétben, ahol a kapacitásunkat az Azure teljes kapacitása korlátozza, a macOS-kapacitást a rendelkezésünkre álló hardver mennyisége korlátozza. Bár 2024 tavaszán további kapacitást szeretnénk elérhetővé tenni, előfordulhat, hogy egyes feladatok végrehajtása késni fog. Ahol csak lehetséges, például olyan feladatok esetén, amelyek nem hoznak létre Apple-ökoszisztéma-alkalmazásokat, az ügyfeleknek Linux vagy Windows rendszerképeket kell választaniuk.

Feljegyzés

Az Azure Pipelines által üzemeltetett készlet lecseréli azokat a korábbi üzemeltetett készleteket, amelyek nevei a megfelelő rendszerképekhez lettek leképezve. Az előző üzemeltetett készletekben végzett feladatok automatikusan a megfelelő rendszerképre kerülnek az új Azure Pipelines által üzemeltetett készletben. Bizonyos esetekben előfordulhat, hogy továbbra is megjelennek a régi készletnevek, de a háttérben az üzemeltetett feladatok az Azure Pipelines-készlet használatával futnak. A frissítésről további információt a 2019. július 1- Sprint 154 kibocsátási megjegyzésekben talál.

Fontos

Ha további szoftvereket szeretne telepíteni a Microsoft által üzemeltetett ügynökökre, ne hozzon létre visszajelzési kérést ezen a dokumentumon, és ne nyisson meg támogatási jegyet. Ehelyett nyisson meg egy problémát az adattárban, ahol a szkripteket különböző képek létrehozásához kezeljük.

Folyamatok azonosítása elavult üzemeltetett rendszerkép használatával

Az elavult rendszerképet használó folyamatok azonosításához keresse meg a szervezet következő helyét: https://dev.azure.com/{organization}/{project}/_settings/agentqueues, és szűrjön a kép nevére az ellenőrzéshez. Az alábbi példa ellenőrzi a vs2017-win2016 képet.

Képernyőkép a folyamatok képnév szerinti szűréséről.

A projektekben elavult képek feladatelőzményeit is lekérdezheti az itt található szkripttel, ahogyan az az alábbi példában látható.

./QueryJobHistoryForRetiredImages.ps1 -accountUrl https://dev.azure.com/{org} -pat {pat}

Microsoft által üzemeltetett ügynök használata

A YAML-folyamatokban, ha nem ad meg készletet, a folyamatok alapértelmezés szerint az Azure Pipelines-ügynökkészletre lesznek beállítva. Egyszerűen meg kell adnia, hogy melyik virtuálisgép-rendszerképet szeretné használni.

jobs:
- job: Linux
  pool:
    vmImage: 'ubuntu-latest'
  steps:
  - script: echo hello from Linux
- job: macOS
  pool:
    vmImage: 'macOS-latest'
  steps:
  - script: echo hello from macOS
- job: Windows
  pool:
    vmImage: 'windows-latest'
  steps:
  - script: echo hello from Windows

Feljegyzés

A készlet specifikációja több szinten is elvégezhető egy YAML-fájlban. Ha azt tapasztalja, hogy a folyamat nem a várt lemezképen fut, ellenőrizze a készlet specifikációját a folyamat, a fázis és a feladat szintjén.

A szigorúan kódolt hivatkozások elkerülése

Ha Microsoft által üzemeltetett ügynököt használ, mindig változókkal hivatkozzon a buildkörnyezetre és az ügynökerőforrásokra. Ne kódozza például az adattárat tartalmazó meghajtóbetűjelet vagy mappát. Az üzemeltetett ügynökök pontos elrendezése figyelmeztetés nélkül változhat.

Hardver

A Windows és Linux rendszerképeket futtató Microsoft által üzemeltetett ügynököket általános célú Azure-beli virtuális gépeken helyezik üzembe 2 magos CPU-val, 7 GB RAM-mal és 14 GB SSD-lemezterülettel. Ezek a virtuális gépek ugyanabban a földrajzi helyen találhatók, mint az Azure DevOps-szervezet.

A macOS-lemezképeket futtató ügynökök 3 magos CPU-val, 14 GB RAM-mal és 14 GB SSD-lemezterülettel rendelkező Mac-profikon vannak kiépítve. Ezek az ügynökök mindig az Usa-ban futnak, függetlenül az Azure DevOps-szervezet helyétől. Ha az adatok szuverenitása fontos Önnek, és ha szervezete nem az USA-ban található, akkor ne használjon macOS-lemezképeket. További információ.

Ezek a gépek legalább 10 GB szabad lemezterülettel rendelkeznek a folyamatok futtatásához. Ezt a szabad területet akkor használja fel a rendszer, ha a folyamat kijelentkezik a forráskódból, letölti a csomagokat, lekéri a Docker-rendszerképeket, vagy köztes fájlokat hoz létre.

Fontos

Nem tudjuk tiszteletben tartani a Microsoft által üzemeltetett ügynökök lemezterületének növelésére vagy nagyobb teljesítményű gépek kiépítésére vonatkozó kéréseket. Ha a Microsoft által üzemeltetett ügynökök specifikációi nem felelnek meg az igényeinek, érdemes megfontolnia a saját üzemeltetésű ügynököket vagy a méretezési csoport ügynökeit.

Hálózatkezelés

Egyes beállításoknál előfordulhat, hogy ismernie kell az ügynököket üzembe helyező IP-címek tartományát. Ha például tűzfalon keresztül kell hozzáférést biztosítania a üzemeltetett ügynököknek, célszerű lehet ip-cím alapján korlátozni a hozzáférést. Mivel az Azure DevOps az Azure globális hálózatát használja, az IP-tartományok idővel változnak. A Microsoft közzétesz egy heti JSON-fájlt , amely az Azure-adatközpontok IP-tartományait tartalmazza régiónként lebontva. Ez a fájl hetente frissül új tervezett IP-címtartományokkal. Csak a fájl legújabb verziója tölthető le. Ha korábbi verziókra van szüksége, minden héten le kell töltenie és archiválnia kell őket, amint elérhetővé válnak. Az új IP-tartományok a következő héten lépnek életbe. Javasoljuk, hogy rendszeresen (hetente legalább egyszer) ellenőrizze, hogy naprakész-e a lista. Ha az ügynökfeladatok meghiúsulnak, a legfontosabb hibaelhárítási lépés annak ellenőrzése, hogy a konfiguráció megegyezik-e az IP-címek legújabb listájával. A üzemeltetett ügynökök IP-címtartományai a heti fájlban AzureCloud.<region>jelennek meg, például AzureCloud.westus az USA nyugati régiójában.

Az üzemeltetett ügynökök ugyanabban az Azure-beli földrajzi helyen futnak, mint a szervezet. Minden földrajzi hely egy vagy több régiót tartalmaz. Bár az ügynök ugyanabban a régióban fut, mint a szervezet, ez nem garantált. Az ügynök lehetséges IP-tartományainak teljes listájának lekéréséhez a földrajzi régióban található összes régió IP-tartományát kell használnia. Ha például a szervezet a Egyesült Államok földrajzi helyen található, akkor az adott földrajzi régió összes régiójához használnia kell az IP-tartományokat.

A földrajzi hely meghatározásához keresse https://dev.azure.com/<your_organization>/_settings/organizationOverviewmeg a régiót, és keresse meg a kapcsolódó földrajzi helyet az Azure földrajzi táblából. Miután azonosította a földrajzi helyet, használja a heti fájl IP-tartományait az adott földrajzi régió összes régiójához.

Fontos

A Microsoft által üzemeltetett ügynökök vállalati hálózathoz való csatlakoztatásához nem használhat privát kapcsolatokat, például ExpressRoute-ot vagy VPN-t. A Microsoft által üzemeltetett ügynökök és a kiszolgálók közötti forgalom nyilvános hálózaton keresztül fog haladni.

A Microsoft által üzemeltetett ügynökök lehetséges IP-tartományainak azonosítása

  1. A szervezet régiójának azonosítása a Szervezeti beállítások között.
  2. A szervezet régiójának Azure Geography-jének azonosítása.
  3. A földrajzi hely régióinak neveit a heti fájlban használt formátumra képezheti le, a következő formátumot AzureCloud.<region>követve: AzureCloud.westuspéldául. A régiók nevét az Azure Geography listából a heti fájlban használt formátumra képezheti le, ha áttekinti a régióneveknek a Régió osztály forráskódjában meghatározott régiók konstruktorának átadott régióneveket a .NET-hez készült Azure Management-kódtárakból.

    Feljegyzés

    Mivel az Azure Management Libraries for .NET-ben nincs API a földrajzi régiók listázásához, manuálisan kell listáznia őket az alábbi példában látható módon.

  4. A heti fájlból lekérheti a földrajzi régió összes régiójának IP-címét. Ha régiója Dél-Brazília vagy Nyugat-Európa, további IP-tartományokat kell tartalmaznia a tartalék földrajzi hely alapján, az alábbi megjegyzésben leírtak szerint.

Feljegyzés

A kapacitáskorlátozások miatt egyes dél- vagy nyugat-európai brazíliai szervezetek időnként láthatják a várt földrajzi helyükön kívül található üzemeltetett ügynökeiket. Ezekben az esetekben amellett, hogy az előző szakaszban leírtak szerint az összes régió IP-tartományát belefoglalta a földrajzi régióba, további IP-tartományokat kell tartalmaznia a kapacitás-tartalék földrajzi régióhoz.

Ha szervezete a Dél-Brazília régióban található, a kapacitás-tartalék földrajzi hely Egyesült Államok.

Ha szervezete a nyugat-európai régióban található, a kapacitás-tartalék földrajzi régió Franciaország.

Mac IP-tartományaink nem szerepelnek a fenti Azure IP-címekben, mivel a GitHub macOS-felhőjében vannak üzemeltetve. Az IP-tartományok a GitHub metadata API-val kérhetők le az itt megadott utasítások alapján.

Példa

Az alábbi példában az USA nyugati régiójában lévő szervezet üzemeltetett ügynökÉNEK IP-címtartományai a heti fájlból lesznek lekérve. Mivel az USA nyugati régiója a Egyesült Államok földrajzi régióban található, a Egyesült Államok földrajzi régióban lévő összes régió IP-címe szerepel. Ebben a példában az IP-címek a konzolra vannak írva.

using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

namespace WeeklyFileIPRanges
{
    class Program
    {
        // Path to the locally saved weekly file
        const string weeklyFilePath = @"C:\MyPath\ServiceTags_Public_20230904.json";

        static void Main(string[] args)
        {
            // United States geography has the following regions:
            // Central US, East US, East US 2, East US 3, North Central US, 
            // South Central US, West Central US, West US, West US 2, West US 3
            // This list is accurate as of 9/8/2023
            List<string> USGeographyRegions = new List<string>
            {
                "centralus",
                "eastus",
                "eastus2",
                "eastus3",
                "northcentralus",
                "southcentralus",
                "westcentralus",
                "westus",
                "westus2",
                "westus3"
            };

            // Load the weekly file
            JObject weeklyFile = JObject.Parse(File.ReadAllText(weeklyFilePath));
            JArray values = (JArray)weeklyFile["values"];

            foreach (string region in USGeographyRegions)
            {
                string tag = $"AzureCloud.{region}";
                Console.WriteLine(tag);

                var ipList =
                    from v in values
                    where tag.Equals((string)v["name"], StringComparison.OrdinalIgnoreCase)
                    select v["properties"]["addressPrefixes"];

                foreach (var ip in ipList.Children())
                {
                    Console.WriteLine(ip);
                }
            }
        }
    }
}

Szolgáltatáscímkék

A Microsoft által üzemeltetett ügynökök nem listázhatók szolgáltatáscímkék szerint. Ha az üzemeltetett ügynököknek hozzáférést szeretne adni az erőforrásokhoz, az IP-címtartomány engedélyezési listázási módszerét kell követnie.

Biztonság

A Microsoft által üzemeltetett ügynökök biztonságos Azure-platformon futnak. Azonban tisztában kell lennie a következő biztonsági szempontokkal.

  • Bár a Microsoft által üzemeltetett ügynökök nyilvános Azure-hálózaton futnak, nem kapnak nyilvános IP-címeket. A külső entitások tehát nem célozhatók meg a Microsoft által üzemeltetett ügynökökkel.
  • A Microsoft által üzemeltetett ügynökök egyes virtuális gépeken futnak, amelyeket minden futtatás után újra rendszerképeznek. Minden ügynök egyetlen szervezetnek van szentelve, és minden virtuális gép csak egyetlen ügynököt üzemeltet.
  • A folyamat biztonsági szempontból számos előnnyel jár, ha a Microsoft által üzemeltetett ügynökökön futtatja a folyamatot. Ha nem megbízható kódot futtat a folyamatban, például az elágazásokból származó hozzájárulásokat, biztonságosabb a folyamatot a Microsoft által üzemeltetett ügynökökön futtatni, mint a vállalati hálózaton található saját üzemeltetésű ügynökökön.
  • Ha egy folyamatnak tűzfal mögött kell hozzáférnie a vállalati erőforrásokhoz, engedélyeznie kell az Azure földrajzi hely IP-címtartományát. Ez növelheti az expozíciót, mivel az IP-címek tartománya meglehetősen nagy, és mivel az ebben a tartományban lévő gépek más ügyfelekhez is tartozhatnak. Ennek megelőzésének legjobb módja, ha elkerüli a belső erőforrásokhoz való hozzáférés szükségességét. Az összetevők kiszolgálókon való üzembe helyezéséről további információt a célkiszolgálókon üzembe helyezendő kommunikáció című témakörben talál.
  • A üzemeltetett rendszerképek nem felelnek meg a CIS-beli keményítési teljesítménymutatóknak. A CIS által edzett képek használatához saját üzemeltetésű ügynököket vagy méretezési csoportbeli ügynököket kell létrehoznia.

Képességek és korlátozások

Microsoft által üzemeltetett ügynökök:

  • Használja a fenti szoftvert. Az eszköztelepítői feladatokkal szoftvereket is hozzáadhat a buildelés vagy kiadás során.
    • A folyamat minden feladatához kap egy frissen rendszerképezett ügynököt.
  • Adjon meg 10 GB tárterületet a forrás- és buildkimenetekhez.
  • Adjon meg egy ingyenes szintet:
    • Nyilvános projekt: 10 ingyenes, Microsoft által üzemeltetett párhuzamos feladat, amely akár 360 percig (6 óra) is futtatható minden alkalommal, havonta teljes időkorlát nélkül. Vegye fel velünk a kapcsolatot az ingyenes szint korlátainak növeléséhez.
    • Privát projekt: Egy ingyenes párhuzamos feladat, amely akár 60 percig is futtatható minden alkalommal, amíg havonta 1800 percet (30 órát) nem használt fel. Párhuzamos feladatonként további kapacitást is fizethet. A fizetős párhuzamos feladatok eltávolítják a havi időkorlátot, és lehetővé teszik az egyes feladatok futtatását akár 360 percig (6 óra). A Microsoft által üzemeltetett párhuzamos feladatok vásárlása.
    • Új Azure DevOps-szervezet létrehozásakor alapértelmezés szerint nem kapja meg ezeket az ingyenes támogatásokat. Ha nyilvános vagy magánprojektekhez szeretne ingyenes támogatást igényelni, küldjön be egy kérelmet.
  • Futtassa a Microsoft Azure általános célú virtuális gépein Standard_DS2_v2.
  • Futtassa rendszergazdaként Windows rendszeren és jelszó nélküli sudo-felhasználóként Linuxon.
  • (csak Linux) Olyan lépések cgroup futtatása, amelyek 6 GB fizikai memóriát és 13 GB teljes memóriát biztosítanak.
  • Rendszeresen frissített virtuálisgép-rendszerképeket használjon (3 hetente).

A Microsoft által üzemeltetett ügynökök nem kínálnak:

  • A távoli csatlakozás lehetősége.
  • Az összetevők UNC fájlmegosztásba való elvetésének lehetősége.
  • A gépek közvetlen csatlakoztatásának lehetősége a vállalati hálózathoz.
  • Nagyobb vagy nagyobb teljesítményű buildelési gépek beszerzésének képessége.
  • Az egyéni szoftverek előzetes betöltésének lehetősége. Szoftvereket telepíthet folyamatfuttatás közben, például eszköztelepítési feladatokon vagy szkripteken keresztül.
  • Lehetséges teljesítménybeli előnyök, amelyeket a saját üzemeltetésű ügynökök használatával érhet el, amelyek gyorsabban indíthatják el és futtathatják a buildeket. További információ
  • XAML-buildek futtatásának lehetősége.
  • A virtuálisgép-rendszerkép korábbi verziójára való visszaállítás lehetősége. Mindig a legújabb verziót használja.

Ha a Microsoft által üzemeltetett ügynökök nem felelnek meg az igényeinek, akkor üzembe helyezheti saját , saját üzemeltetésű ügynökeit , vagy használhat méretezési csoportok ügynökeit.

GYIK

Hogyan tekinthetem meg, hogy milyen szoftverek szerepelnek a képen?

Az egyes üzemeltetett ügynökök telepített szoftvereit a Szoftver tábla Belefoglalt szoftver hivatkozására kattintva tekintheti meg.

Feljegyzés

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 választja ki a Microsoft a rendszerképen elhelyezni kívánt szoftvereket és verziókat?

A képeken található szoftververziókkal kapcsolatos további információkért tekintse meg a telepített szoftverekre vonatkozó útmutatót.

Mikor frissülnek a képek?

A képek általában hetente frissülnek. Ellenőrizheti azokat az állapotjelvényeket , amelyek olyan formátumban 20200113.x vannak, amelyben az első rész a kép frissítésének dátumát jelzi.

Mit tehetek, ha a szükséges szoftvereket eltávolítják vagy lecserélik egy újabb verzióra?

A GitHub-probléma bejelentésével a Microsoft által üzemeltetett ügynöktáblábantalálható mellékelt szoftverhivatkozások kiválasztásával tudhatja meg velünk.

Használhat saját üzemeltetésű ügynököt is, amely tartalmazza a szükséges szoftverek pontos verzióit. További információ: Saját üzemeltetésű ügynökök.

Mi a teendő, ha nagyobb, nagyobb feldolgozási teljesítménnyel, memóriával vagy lemezterülettel rendelkező gépre van szükségem?

A Microsoft által üzemeltetett ügynökök memóriája, feldolgozási teljesítménye vagy lemezterülete nem növelhető , de használhat saját üzemeltetésű ügynököket vagy a kívánt specifikációval rendelkező gépeken üzemeltetett méretezési csoportügynököket .

Nem tudok Microsoft által üzemeltetett ügynököt kiválasztani, és nem tudom várólistára helyezni a buildet vagy az üzembe helyezést. Mit tegyek?

A Microsoft által üzemeltetett ügynökök csak az Azure Pipelinesban érhetők el, a TFS-ben vagy az Azure DevOps Serverben nem.

Alapértelmezés szerint a szervezet összes projekt-közreműködője hozzáfér a Microsoft által üzemeltetett ügynökökhöz. A szervezet rendszergazdája azonban korlátozhatja a Microsoft által üzemeltetett ügynökök hozzáférését a felhasználók vagy projektek kiválasztásához. Kérje meg az Azure DevOps-szervezet tulajdonosát, hogy adjon engedélyt a Microsoft által üzemeltetett ügynök használatára. Tekintse meg az ügynökkészlet biztonságát.

A Microsoft által üzemeltetett ügynökökön futó folyamataim befejezése sokáig tart. Hogyan gyorsíthatnám fel a műveletet?

Ha a folyamat az utóbbi időben lelassult, tekintse meg az Állapotlapon, hogy nem történt-e kimaradás. Előfordulhat, hogy problémák akadtak a szolgáltatásban. Egyéb esetben tekintse át az alkalmazás kódján vagy a folyamaton elvégzett módosításokat. Előfordulhat, hogy a kijelentkezés során az adattár mérete megnőtt, illetve Ön nagyobb összetevőket tölt fel, vagy további teszteket futtat.

Ha most állít be egy folyamatot, és a Microsoft által üzemeltetett ügynökök teljesítményét a saját helyi gépével vagy a saját üzemeltetésű ügynökével hasonlítja össze, vegye figyelembe a hardveres specifikációkat, amelyeket az Ön feladatainak futtatásához használunk. Nem tudunk nagyobb vagy hatékonyabb gépeket biztosítani. Amennyiben ez a teljesítmény nem megfelelő, érdemes megfontolni a saját üzemeltetésű ügynökök vagy a méretezésicsoport-ügynökök használatát.

Több ügynökre van szükségem. Mit tehetek?

Minden Azure DevOps-szervezet több ingyenes párhuzamos feladatot biztosít a nyílt forráskódú projektekhez, valamint egy ingyenes párhuzamos feladatot, és havonta korlátozott perceket a magánprojektekhez. Ha további percekre vagy párhuzamos feladatokra van szüksége a nyílt forráskódú projekthez, forduljon az ügyfélszolgálathoz. Ha további percekre vagy párhuzamos feladatokra van szüksége a privát projektjéhez, többet is vásárolhat.

A folyamat sikeres a saját üzemeltetésű ügynökön, de a Microsoft által üzemeltetett ügynökök esetében meghiúsul. Mit tegyek?

A saját üzemeltetésű ügynökén valószínűleg minden megfelelő függőség telepítve van, míg ugyanazok a függőségek, eszközök és szoftverek nincsenek telepítve a Microsoft által üzemeltetett ügynökökre. Először alaposan tekintse át a Microsoft által üzemeltetett ügynökökre telepített szoftverek listáját a fenti táblázatban található Mellékelt szoftverek hivatkozását követve. Ezután hasonlítsa össze a saját üzemeltetésű ügynökre telepített szoftverrel. Bizonyos esetekben előfordulhat, hogy a Microsoft által üzemeltetett ügynökök rendelkeznek a szükséges eszközökkel (például a Visual Studióval), de előfordulhat, hogy az összes szükséges választható összetevő nincs telepítve. Ha különbségeket talál, akkor két lehetősége van:

  • Létrehozhat egy új problémát az adattárban, ahol nyomon követjük a további szoftverekre vonatkozó kéréseket. Az ügyfélszolgálattal való kapcsolatfelvétel nem segíthet új szoftverek beállításában a Microsoft által üzemeltetett ügynökökön.

  • Használhat saját üzemeltetésű ügynököket vagy méretezési csoportügynököket. Ezekkel az ügynökökkel teljes mértékben ön felügyelheti a folyamatok futtatásához használt rendszerképeket.

A build sikeres a helyi gépen, de a Microsoft által üzemeltetett ügynökökkel meghiúsul. Mit tegyek?

A helyi gépen valószínűleg minden megfelelő függőség telepítve van, míg ugyanazok a függőségek, eszközök és szoftverek nincsenek telepítve a Microsoft által üzemeltetett ügynökökre. Először alaposan tekintse át a Microsoft által üzemeltetett ügynökökre telepített szoftverek listáját a fenti táblázatban található Mellékelt szoftverek hivatkozását követve. Ezután hasonlítsa össze a helyi gépen telepített szoftverrel. Bizonyos esetekben előfordulhat, hogy a Microsoft által üzemeltetett ügynökök rendelkeznek a szükséges eszközökkel (például a Visual Studióval), de előfordulhat, hogy az összes szükséges választható összetevő nincs telepítve. Ha különbségeket talál, akkor két lehetősége van:

  • Létrehozhat egy új problémát az adattárban, ahol nyomon követjük a további szoftverekre vonatkozó kéréseket. Ez a legjobb megoldás az új szoftverek telepítésére. Az ügyfélszolgálattal való kapcsolatfelvétel nem segít új szoftverek beállításában a Microsoft által üzemeltetett ügynökökön.

  • Használhat saját üzemeltetésű ügynököket vagy méretezési csoportügynököket. Ezekkel az ügynökökkel teljes mértékben ön felügyelheti a folyamatok futtatásához használt rendszerképeket.

A folyamat a következő hibával meghiúsul: "nincs szabad hely az eszközön".

A Microsoft által üzemeltetett ügynököknek mindössze 10 GB lemezterület áll rendelkezésükre a feladat futtatásához. Ezt a helyet akkor használja fel a rendszer, ha a forráskódot, a csomagok letöltését, a Docker-rendszerképek letöltését vagy köztes fájlokat hoz létre. Sajnos nem növelhető a Microsoft által üzemeltetett képeken elérhető szabad terület. Átstrukturázhatja a folyamatot, hogy beférjen ebbe a térbe. Használhat saját üzemeltetésű ügynököket vagy méretezési csoportügynököket is.

A Microsoft által üzemeltetett ügynökökön futó folyamatomnak hozzá kell férnie a vállalati hálózaton lévő kiszolgálókhoz. Hogyan szerezhetjük be a tűzfalon engedélyezendő IP-címek listáját?

Tekintse meg az Ügynök IP-tartományai című szakaszt

A Microsoft által üzemeltetett ügynökökön futó folyamat nem tudja feloldani egy kiszolgáló nevét a vállalati hálózaton. Hogyan oldhatjuk meg ezt?

Ha a dns-neve alapján hivatkozik a kiszolgálóra, győződjön meg arról, hogy a kiszolgáló nyilvánosan elérhető az interneten a DNS-nevével. Ha a kiszolgálóra annak IP-címe alapján hivatkozik, győződjön meg arról, hogy az IP-cím nyilvánosan elérhető az interneten. Mindkét esetben győződjön meg arról, hogy az ügynökök és a vállalati hálózat közötti tűzfalon engedélyezettek az ügynök IP-tartományai .

SAS IP-engedélyezési hibát kapok egy Azure Storage-fiókból

Ha SAS-hibakódot kap, az valószínűleg azért van, mert a Microsoft által üzemeltetett ügynökök IP-címtartományai nem engedélyezettek az Azure Storage-szabályok miatt. Van néhány kerülő megoldás:

  1. Az Azure Storage-fiók IP-hálózati szabályainak kezelése és az üzemeltetett ügynökök IP-címtartományainak hozzáadása.
  2. A folyamatban az Azure CLI használatával frissítse az Azure Storage-fiók hálózati szabálykészletét közvetlenül a tárterület elérése előtt, majd állítsa vissza az előző szabálykészletet.
  3. Használjon saját üzemeltetésű ügynököket vagy méretezési csoportügynököket.

Hogyan választhatom ki manuálisan az eszközök verzióit az üzemeltetett macOS-ügynökön?

Xamarin

Az üzemeltetett macOS-ügynök a Xamarin SDK-verziókat és a hozzá tartozó Mono-verziókat a Xamarin SDK-helyekre irányuló szimlinkek készleteként tárolja, amelyek egyetlen csomag szimlinktel érhetők el.

Ha manuálisan szeretne kiválasztani egy Xamarin SDK-verziót, amelyet a üzemeltetett macOS-ügynökön szeretne használni, hajtsa végre a következő bash-parancsot a Xamarin buildelési feladat előtt a build részeként, és adja meg a szükséges Xamarin-verziókhoz való szimlinket.

/bin/bash -c "sudo $AGENT_HOMEDIRECTORY/scripts/select-xamarin-sdk.sh <symlink>"

Az összes elérhető Xamarin SDK-verzió és symlink listája megtalálható az ügynökök dokumentációjában:

Ez a parancs nem választja ki a Mono verziót a Xamarin SDK-t meghaladóan. A Mono-verzió manuális kiválasztásához tekintse meg az alábbi utasításokat.

Ha az Xcode nem alapértelmezett verzióját használja a Xamarin.iOS- vagy xamarin.Mac-alkalmazások létrehozásához, akkor ezt a parancssort is végre kell hajtania:

/bin/bash -c "echo '##vso[task.setvariable variable=MD_APPLE_SDK_ROOT;]'$(xcodeRoot);sudo xcode-select --switch $(xcodeRoot)/Contents/Developer"

Ahol $(xcodeRoot) = /Applications/Xcode_13.2.app

Az üzemeltetett macOS-ügynökkészlet Xcode-verziói itt találhatók az macos-11 ügynökhöz és itt az macos-12 ügynökhöz.

XCode

Ha az Azure Pipelineshoz és a TFS-hez tartozó Xcode-feladatot használja, kiválaszthatja az Xcode egy verzióját a tevékenység tulajdonságai között. Ellenkező esetben ha manuálisan szeretné beállítani az Xcode-verziót a üzemeltetett macOS-ügynökkészleten való használatra, a xcodebuild buildelés előtt hajtsa végre ezt a parancssort a build részeként, és szükség szerint cserélje le a 13.2-es Xcode-verziót:

/bin/bash -c "sudo xcode-select -s /Applications/Xcode_13.2.app/Contents/Developer"

Az üzemeltetett macOS-ügynökkészlet Xcode-verziói itt találhatók az macos-11 ügynökhöz és itt az macos-12 ügynökhöz.

Ez a parancs nem működik A Xamarin-alkalmazások esetében. Ha manuálisan szeretne kiválasztani egy Xcode-verziót a Xamarin-alkalmazások létrehozásához, tekintse meg a fenti utasításokat.

Mono

Ha manuálisan szeretne kiválasztani egy Mono-verziót, amelyet a üzemeltetett macOS-ügynökkészleten szeretne használni, futtassa ezt a szkriptet a build minden feladatában a Mono buildelési feladat előtt, és adja meg a szimlinket a szükséges Mono verzióval (az összes elérhető szimlink listája a fenti Xamarin szakaszban található):

SYMLINK=<symlink>
MONOPREFIX=/Library/Frameworks/Mono.framework/Versions/$SYMLINK
echo "##vso[task.setvariable variable=DYLD_FALLBACK_LIBRARY_PATH;]$MONOPREFIX/lib:/lib:/usr/lib:$DYLD_LIBRARY_FALLBACK_PATH"
echo "##vso[task.setvariable variable=PKG_CONFIG_PATH;]$MONOPREFIX/lib/pkgconfig:$MONOPREFIX/share/pkgconfig:$PKG_CONFIG_PATH"
echo "##vso[task.setvariable variable=PATH;]$MONOPREFIX/bin:$PATH"