Ügynökök kiépítése üzembehelyezési csoportokhoz
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Az üzembehelyezési csoportok megkönnyítik a célgépek logikai csoportjainak meghatározását az üzembe helyezéshez, és minden gépen telepítik a szükséges ügynököt. Ez a cikk bemutatja, hogyan hozhat létre üzembehelyezési csoportot, és hogyan telepítheti és helyezheti üzembe az ügynököt az üzembehelyezési csoport minden egyes virtuális vagy fizikai gépén.
Az ügynököt az alábbi módokon telepítheti:
- Futtassa az üzembehelyezési csoport létrehozásakor automatikusan létrehozott szkriptet .
- Telepítse az Azure Pipelines Agent Azure-beli virtuálisgép-bővítményt az egyes virtuális gépekre.
- Használja az ARM-sablon üzembehelyezési feladatát a kiadási folyamatban.
Az ügynökökkel és a folyamatokkal kapcsolatos információkért lásd:
A telepítési szkript futtatása a célkiszolgálókon
Az Azure Pipelines Üzembe helyezési csoportok lapján válassza az +Új lehetőséget új csoport létrehozásához.
Adja meg a csoport nevét, és szükség esetén adja meg a leírást, majd válassza a Létrehozás lehetőséget.
A gépek regisztrálása a következő oldal parancssori szakaszában válassza ki a célgép operációs rendszerét.
Válassza a Személyes hozzáférési jogkivonat használata a szkriptben a hitelesítéshez lehetőséget. További információ.
Válassza a Szkript másolása vágólapra lehetőséget.
Jelentkezzen be az egyes célgépekre a megfelelő engedélyekkel rendelkező fiókkal, és:
Nyisson meg egy Rendszergazda istrator PowerShell-parancssort, illessze be a másolt szkriptet, majd hajtsa végre, hogy regisztrálja a gépet ezzel a csoporttal.
Ha a szkript futtatásakor hibaüzenet jelenik meg, amely szerint nem hozható létre biztonságos csatorna, hajtsa végre ezt a parancsot a Rendszergazda istrator PowerShell-parancssorában:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Amikor a rendszer kéri az ügynök címkéinek konfigurálását, nyomja
Y
le és adja meg azokat a címkéket, amelyek segítségével azonosíthatja a csoport gépeinek részhalmazait a részleges üzembe helyezéshez.A hozzárendelt címkék lehetővé teszik, hogy az üzembe helyezést bizonyos kiszolgálókra korlátozza, amikor az üzembe helyezési csoportot egy futtatás gépcsoport-feladatban használják.
Amikor a rendszer kéri a felhasználói fiókot, nyomja le a Return billentyűt az alapértelmezett beállítások elfogadásához.
Várja meg, amíg a szkript befejeződik az üzenettel
Service vstsagent.{organization-name}.{computer-name} started successfully
.
Az Azure Pipelines Üzembe helyezési csoportok lapján nyissa meg a Gépek lapot, és ellenőrizze, hogy az ügynökök futnak-e. Ha a konfigurált címkék nem láthatók, frissítse a lapot.
Az Azure Pipelines Agent Azure-beli virtuálisgép-bővítményének telepítése
Az Azure Pipelines Üzembe helyezési csoportok lapján válassza az +Új lehetőséget új csoport létrehozásához.
Adja meg a csoport nevét, és szükség esetén adja meg a leírást, majd válassza a Létrehozás lehetőséget.
Az Azure Portalon nyissa meg a Bővítmény panelt az üzembe helyezési csoportban szereplő összes virtuális gépnél, válassza a + Hozzáadás lehetőséget az Új erőforráslista megnyitásához, majd válassza az Azure Pipelines Agent lehetőséget.
A Bővítmény telepítése panelen adja meg a használni kívánt Azure Pipelines-előfizetés nevét. Ha például az URL-cím,
https://dev.azure.com/contoso
csak adja meg a contoso értéket.Adja meg a projekt nevét és az üzembehelyezési csoport nevét.
Igény szerint adja meg az ügynök nevét. Ha nincs megadva, a hozzáfűzett
-DG
virtuálisgép-nevet használja.Adja meg a személyes hozzáférési jogkivonatot (PAT) az Azure Pipelineson való hitelesítéshez.
Igény szerint adja meg az ügynökön konfigurálni kívánt címkék vesszővel tagolt listáját. A címkék nem érzékenyek a kis- és nagybetűkre, és csak 256 karakter hosszúságúak lehetnek.
Az OK gombra kattintva megkezdheti az ügynök telepítését ezen a virtuális gépen.
Adja hozzá a bővítményt minden olyan virtuális géphez, amelyet bele szeretne foglalni ebbe az üzembe helyezési csoportba.
Az ARM-sablon üzembehelyezési feladatának használata
Fontos
Ezek az utasítások a feladat 2. verziójára vonatkoznak. Állítsa át a feladat verzióját 3-ról 2-re.
Az ARM-sablon üzembe helyezési feladatával üzembe helyezhet egy Azure Resource Manager-sablont (ARM), amely telepíti az Azure Pipelines Agent Azure-beli virtuálisgép-bővítményt egy virtuális gép létrehozásakor, vagy frissítheti az erőforráscsoportot a bővítmény alkalmazásához a virtuális gép létrehozása után. Alternatív megoldásként az ARM-sablon üzembe helyezési feladatának speciális üzembehelyezési lehetőségeit is használhatja az ügynök üzembe helyezési csoportokban való üzembe helyezéséhez.
Az "Azure Pipelines Agent" Azure-beli virtuálisgép-bővítmény telepítése ARM-sablonnal
Az ARM-sablonok olyan JSON-fájlok, amelyek deklaratív módon definiálják az Azure-erőforrások egy készletét. A sablon automatikusan olvasható és az Azure által kiosztott erőforrások. Egyetlen sablonnal több szolgáltatást is üzembe helyezhet azok függőségeivel együtt.
Windows rendszerű virtuális gép esetén hozzon létre egy ARM-sablont, és vegyen fel egy erőforráselemet az erőforrás alá az Microsoft.Compute/virtualMachine
itt látható módon:
"resources": [
{
"name": "[concat(parameters('vmNamePrefix'),copyIndex(),'/TeamServicesAgent')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"location": "[parameters('location')]",
"apiVersion": "2015-06-15",
"dependsOn": [
"[resourceId('Microsoft.Compute/virtualMachines/',
concat(parameters('vmNamePrefix'),copyindex()))]"
],
"properties": {
"publisher": "Microsoft.VisualStudio.Services",
"type": "TeamServicesAgent",
"typeHandlerVersion": "1.0",
"autoUpgradeMinorVersion": true,
"settings": {
"VSTSAccountName": "[parameters('VSTSAccountName')]",
"TeamProject": "[parameters('TeamProject')]",
"DeploymentGroup": "[parameters('DeploymentGroup')]",
"AgentName": "[parameters('AgentName')]",
"AgentMajorVersion": "auto|2|3",
"Tags": "[parameters('Tags')]"
},
"protectedSettings": {
"PATToken": "[parameters('PATToken')]"
}
}
}
]
Feljegyzés
Az Azure DevOps Server 2022-ben a megengedett értékek a AgentMajorVersion
következők auto|N
: . Az Azure DevOps Server 2022.1 és újabb verzióiban a megengedett értékek a AgentMajorVersion
következők auto|2|3
: .
"resources": [
{
"name": "[concat(parameters('vmNamePrefix'),copyIndex(),'/TeamServicesAgent')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"location": "[parameters('location')]",
"apiVersion": "2015-06-15",
"dependsOn": [
"[resourceId('Microsoft.Compute/virtualMachines/',
concat(parameters('vmNamePrefix'),copyindex()))]"
],
"properties": {
"publisher": "Microsoft.VisualStudio.Services",
"type": "TeamServicesAgent",
"typeHandlerVersion": "1.0",
"autoUpgradeMinorVersion": true,
"settings": {
"VSTSAccountName": "[parameters('VSTSAccountName')]",
"TeamProject": "[parameters('TeamProject')]",
"DeploymentGroup": "[parameters('DeploymentGroup')]",
"AgentName": "[parameters('AgentName')]",
"AgentMajorVersion": "auto|N",
"Tags": "[parameters('Tags')]"
},
"protectedSettings": {
"PATToken": "[parameters('PATToken')]"
}
}
}
]
Ahol:
- A VSTSAccountName megadása kötelező. A használni kívánt Azure Pipelines-előfizetés. Példa: Ha az URL-címe,
https://dev.azure.com/contoso
csak adja meg acontoso
- A TeamProject szükséges. Az a projekt, amelyben az üzembe helyezési csoport definiálva van
- A DeploymentGroup szükséges . Az üzembehelyezési csoport, amelyhez az üzembehelyezési ügynök regisztrálva lesz
- Az AgentName megadása nem kötelező. Ha nincs megadva, a program a hozzáfűzött virtuálisgép-nevet
-DG
fogja használni - A címkék megadása nem kötelező. Az ügynökön beállított címkék vesszővel tagolt listája. A címkék nem érzékenyek a kis- és nagybetűkre, és nem lehetnek hosszabbak 256 karakternél
- PATToken szükséges. Az Azure Pipelineson történő hitelesítéshez használt személyes hozzáférési jogkivonat az ügynök letöltéséhez és konfigurálásához
Feljegyzés
Ha Linux rendszerű virtuális gépen telepít, győződjön meg arról, hogy a type
kód paramétere .TeamServicesAgentLinux
A bővítmény hibaelhárítása
Néhány ismert probléma a bővítménysel kapcsolatban:
Az állapotfájl túl nagy: Ez a probléma Windows rendszerű virtuális gépeken jelentkezik, linuxos virtuális gépeken nem figyelték meg. Az állapotfájl egy JSON-objektumot tartalmaz, amely a bővítmény aktuális állapotát írja le. Az objektum egy helyőrző, amely felsorolja az eddig végrehajtott műveleteket. Az Azure beolvassa ezt az állapotfájlt, és az API-kérésekre adott válaszként átadja az állapotobjektumot. A fájl maximálisan engedélyezett méretű; ha a méret meghaladja a küszöbértéket, az Azure nem tudja teljesen elolvasni, és hibát ad az állapothoz. Minden egyes gép újraindításakor a bővítmény végrehajt néhány műveletet (annak ellenére, hogy korábban sikeres volt a telepítés), amely hozzáfűzi az állapotfájlt. Ha a gépet számos alkalommal újraindítják, az állapotfájl mérete meghaladja a küszöbértéket, ami ezt a hibát okozza. A hibaüzenet a következőt olvassa:
Handler Microsoft.VisualStudio.Services.TeamServicesAgent:1.27.0.2 status file 0.status size xxxxxx bytes is too big. Max Limit allowed: 131072 bytes
. Előfordulhat, hogy a bővítmény telepítése sikeres volt, de ez a hiba elrejti a bővítmény tényleges állapotát.Kijavítottuk ezt a problémát a gép újraindítása esetén (windowsos és
1.21.0.1
linuxos bővítmények esetén1.27.0.2
), így újraindításkor semmi sem lesz hozzáadva az állapotfájlhoz. Ha ezt a problémát a javítás előtt észlelte a bővítménysel kapcsolatban (vagyis a bővítmény korábbi verzióival kapcsolatban tapasztalta ezt a problémát), és a bővítmény automatikusan a javítással rendelkező verziókra lett kapcsolva, a probléma továbbra is fennáll. Ennek az az oka, hogy a bővítmény frissítése esetén a bővítmény újabb verziója továbbra is a korábbi állapotfájllal működik. Jelenleg akkor is fennállhat ez a probléma, ha a bővítmény egy korábbi verzióját használja a jelölővel az alverzió automatikus frissítéseinek kikapcsolásához, vagy ha egy nagyobb állapotfájlt egy korábbi bővítményverzióról a javítást tartalmazó újabb verziókra szállítottak, vagy bármilyen más okból. Ha ez a helyzet, a bővítmény eltávolításával és újratelepítésével túlléphet ezen a problémán. A bővítmény eltávolítása törli a teljes bővítménykönyvtárat, így a rendszer új állapotfájlt hoz létre a friss telepítéshez. Telepítenie kell a bővítmény legújabb verzióját. Ez a megoldás egy állandó javítás, és ezt követően nem szabad újra szembesülnie a problémával.Egyéni adatokkal kapcsolatos probléma: Ez a probléma nem a bővítménynél jelentkezik, de egyes ügyfelek zavart jelentettek a virtuális gép egyéni adathelyével kapcsolatban az operációsrendszer-verziók váltásakor. Javasoljuk a következő kerülő megoldást. A Python 2 elavult, ezért a bővítményt a Python 3 használatához készítettük. Ha továbbra is olyan korábbi operációsrendszer-verziókat használ, amelyeken alapértelmezés szerint nincs telepítve a Python 3, a bővítmény futtatásához telepítse a Python 3-at a virtuális gépre, vagy váltson olyan operációsrendszer-verziókra, amelyeken alapértelmezés szerint telepítve van a Python 3. Linux rendszerű virtuális gépeken az egyéni adatok át lesznek másolva a Korábbi Microsoft Azure Linux Agent-verziók fájljára
/var/lib/waagent/ovf-env.xml
, valamint az/var/lib/waagent/CustomData
újabb Microsoft Azure Linux Agent-verziókra. Úgy tűnik, hogy azok az ügyfelek, akik e két útvonal közül csak az egyiket kódolták, problémákba ütköznek az operációs rendszer verzióváltása során, mert a fájl nem létezik az új operációsrendszer-verzióban, de a másik fájl jelen van. Ezért a virtuális gép kiépítésének megszakításának elkerülése érdekében vegye figyelembe a sablonban lévő fájlokat, hogy ha az egyik meghibásodik, a másiknak sikeresnek kell lennie.
Az ARM-sablonokról további információt az Erőforrások definiálása az Azure Resource Manager-sablonokban című témakörben talál.
A sablon használata:
Az Azure Pipelines Üzembe helyezési csoportok lapján válassza az +Új lehetőséget új csoport létrehozásához.
Adja meg a csoport nevét, és szükség esetén adja meg a leírást, majd válassza a Létrehozás lehetőséget.
Az Azure Pipelines Kiadások lapján hozzon létre egy kiadási folyamatot az ARM-sablon üzembe helyezési feladatát tartalmazó fázissal.
Adja meg a feladathoz szükséges paramétereket, például az Azure-előfizetést, az erőforráscsoport nevét, helyét és sablonadatait, majd mentse a kiadási folyamatot.
Hozzon létre egy kiadást a kiadási folyamatból az ügynökök telepítéséhez.
Ügynökök telepítése a speciális üzembehelyezési lehetőségek használatával
Az Azure Pipelines Üzembe helyezési csoportok lapján válassza az +Új lehetőséget új csoport létrehozásához.
Adja meg a csoport nevét, és szükség esetén adja meg a leírást, majd válassza a Létrehozás lehetőséget.
Az Azure Pipelines Kiadások lapján hozzon létre egy kiadási folyamatot az ARM-sablon üzembe helyezési feladatát tartalmazó fázissal.
Válassza ki a feladatot, és bontsa ki a virtuális gépek speciális üzembehelyezési beállításait. Konfigurálja az ebben a szakaszban szereplő paramétereket az alábbiak szerint:
Előfeltételek engedélyezése: válassza a Konfigurálás az üzembehelyezési csoport ügynökével lehetőséget.
Azure Pipelines/TFS-végpont: Válasszon ki egy meglévő Team Foundation-kiszolgáló/TFS-szolgáltatáskapcsolatot, amely a célra mutat. Az üzembehelyezési csoportok ügynökregisztrációjához hozzá kell férnie a Visual Studio-projekthez. Ha nem rendelkezik meglévő szolgáltatáskapcsolattal, válassza a Hozzáadás és létrehozás lehetőséget. Konfigurálja úgy, hogy egy személyes hozzáférési jogkivonatot (PAT) használjon, amelynek hatóköre csak az üzembe helyezési csoportra korlátozódik.
Projekt: Adja meg az üzembe helyezési csoportot tartalmazó projektet.
Üzembe helyezési csoport: Adja meg annak az üzembehelyezési csoportnak a nevét, amelyhez az ügynökök regisztrálva lesznek.
Azure-beli virtuálisgép-címkék másolása ügynökökre: Ha be van állítva (bejelölve), az Azure-beli virtuális gépen már konfigurált címkéket a rendszer a megfelelő üzembehelyezési csoportügynökbe másolja. Alapértelmezés szerint az összes Azure-címke a formátumot
Key: Value
használja. Például:Role: Web
.
Adja meg a feladathoz szükséges egyéb paramétereket, például az Azure-előfizetést, az erőforráscsoport nevét és helyét, majd mentse a kiadási folyamatot.
Hozzon létre egy kiadást a kiadási folyamatból az ügynökök telepítéséhez.
Kapcsolódó témakörök
- Futtatás gépcsoport-feladaton
- Ügynök üzembe helyezése Windows rendszeren
- Ügynök üzembe helyezése macOS rendszeren
- Ügynök üzembe helyezése Linuxon
Súgó és támogatás
- Hibaelhárítási tippek megismerése.
- Kérjen tanácsot a Stack Overflow-ról.
- Tegye közzé kérdéseit, keressen válaszokat, vagy javasoljon egy funkciót az Azure DevOps fejlesztői közösségében.
- Támogatást kérhet az Azure DevOpshoz.