Zřizování agentů pro skupiny nasazení
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Skupiny nasazení usnadňují definování logických skupin cílových počítačů pro nasazení a instalaci požadovaného agenta na každý počítač. Tento článek vysvětluje, jak vytvořit skupinu nasazení a jak nainstalovat a zřídit agenta na každém virtuálním nebo fyzickém počítači ve skupině nasazení.
Agenta můžete nainstalovat některým z těchto způsobů:
- Spusťte skript , který se automaticky vygeneruje při vytváření skupiny nasazení.
- Nainstalujte na každý z virtuálních počítačů rozšíření Azure Pipelines Agent Azure.
- Použijte úlohu nasazení šablony ARM v kanálu verze.
Informace o agentech akanálch
Spuštění instalačního skriptu na cílových serverech
Na kartě Skupiny nasazení ve službě Azure Pipelines zvolte +Nový a vytvořte novou skupinu.
Zadejte název skupiny a volitelně i popis a pak zvolte Vytvořit.
V části Registrovat počítače pomocí oddílu příkazového řádku na další stránce vyberte operační systém cílového počítače.
Zvolte Použít osobní přístupový token ve skriptu pro ověřování. Další informace.
Zvolte Kopírovat skript do schránky.
Přihlaste se ke každému cílovému počítači a použijte účet s odpovídajícími oprávněními a:
Otevřete příkazový řádek Správa istrator PowerShellu, vložte zkopírovaný skript a spusťte ho a zaregistrujte počítač v této skupině.
Pokud se při spuštění skriptu, který nelze vytvořit zabezpečený kanál, zobrazí chyba, spusťte tento příkaz na příkazovém řádku powershellu Správa istrator:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Po zobrazení výzvy ke konfiguraci značek pro agenta stiskněte
Y
a zadejte všechny značky, které použijete k identifikaci podmnožina počítačů ve skupině pro částečná nasazení.Značky, které přiřadíte, umožňují omezit nasazení na konkrétní servery, když se skupina nasazení použije v úloze Spustit na skupině počítačů.
Po zobrazení výzvy k zadání uživatelského účtu přijměte výchozí hodnoty stisknutím klávesy Return .
Počkejte na dokončení skriptu se zprávou
Service vstsagent.{organization-name}.{computer-name} started successfully
.
Na stránce Skupiny nasazení služby Azure Pipelines otevřete kartu Počítače a ověřte, že jsou agenti spuštěni. Pokud nakonfigurované značky nejsou viditelné, aktualizujte stránku.
Instalace rozšíření Azure Pipelines Agent Azure
Na kartě Skupiny nasazení ve službě Azure Pipelines zvolte +Nový a vytvořte novou skupinu.
Zadejte název skupiny a volitelně i popis a pak zvolte Vytvořit.
Na webu Azure Portal otevřete pro každý virtuální počítač, který bude součástí skupiny nasazení, okno Rozšíření, zvolte + Přidat a otevřete seznam Nových prostředků a vyberte agenta Azure Pipelines.
V okně Instalace rozšíření zadejte název předplatného Azure Pipelines, které se má použít. Pokud je
https://dev.azure.com/contoso
adresa URL například , stačí zadat contoso.Zadejte název projektu a název skupiny nasazení.
Volitelně můžete zadat název agenta. Pokud není zadaný, použije název virtuálního počítače připojený s
-DG
.Zadejte token PAT (Personal Access Token), který se má použít k ověřování ve službě Azure Pipelines.
Volitelně můžete zadat seznam značek oddělených čárkami, které budou nakonfigurovány v agentovi. Značky nerozlišují malá a velká písmena a každý nesmí být delší než 256 znaků.
Pokud chcete zahájit instalaci agenta na tomto virtuálním počítači, zvolte OK .
Přidejte rozšíření do všech dalších virtuálních počítačů, které chcete zahrnout do této skupiny nasazení.
Použití úlohy nasazení šablony ARM
Důležité
Tyto pokyny odkazují na verzi 2 úlohy. Přepněte úlohu z verze 3 na 2.
Úlohu nasazení šablony ARM můžete použít k nasazení šablony Azure Resource Manageru (ARM), která při vytváření virtuálního počítače nainstaluje rozšíření Azure Pipelines Agent Azure, nebo aktualizovat skupinu prostředků tak, aby rozšíření použila po vytvoření virtuálního počítače. Případně můžete použít pokročilé možnosti nasazení úlohy nasazení šablony ARM k nasazení agenta do skupin nasazení.
Instalace rozšíření Azure Pipelines Agent Azure pomocí šablony ARM
Šablona ARM je soubor JSON, který deklarativní definuje sadu prostředků Azure. Šablonu je možné automaticky číst a prostředky zřízené v Azure. S jednou šablonou můžete nasadit několik služeb společně s jejich závislostmi.
Pro virtuální počítač s Windows vytvořte šablonu ARM a přidejte do prostředku prvek Microsoft.Compute/virtualMachine
prostředků, jak je znázorněno tady:
"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')]"
}
}
}
]
Poznámka:
V Azure DevOps Serveru 2022 jsou povolené hodnoty AgentMajorVersion
auto|N
. V Azure DevOps Serveru 2022.1 a novějším jsou auto|2|3
povolené hodnoty AgentMajorVersion
.
"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')]"
}
}
}
]
Kde:
- Vyžaduje se VSTSAccountName . Předplatné Azure Pipelines, které se má použít. Příklad: Pokud je
https://dev.azure.com/contoso
vaše adresa URL, stačí zadatcontoso
- Je vyžadován týmový projekt . Projekt, který má v ní definovanou skupinu nasazení
- Je vyžadována skupina DeploymentGroup . Skupina nasazení, pro kterou se agent nasazení zaregistruje
- AgentName je volitelný. Pokud není zadaný, použije se název virtuálního počítače s připojeným
-DG
připojením. - Značky jsou volitelné. Čárkami oddělený seznam značek, které se nastaví v agentovi. Značky nerozlišují malá a velká písmena a každý nesmí být delší než 256 znaků.
- Je vyžadován patToken . Osobní přístupový token, který se používá k ověření ve službě Azure Pipelines ke stažení a konfiguraci agenta
Poznámka:
Pokud provádíte nasazení na virtuální počítač s Linuxem, ujistěte se, že type
je TeamServicesAgentLinux
parametr v kódu .
Řešení potíží s rozšířením
Toto jsou některé známé problémy s rozšířením:
Stavový soubor je příliš velký: K tomuto problému dochází na virtuálních počítačích s Windows, na virtuálních počítačích s Linuxem se nepozorovalo. Stavový soubor obsahuje objekt JSON, který popisuje aktuální stav rozšíření. Objekt je zástupný symbol pro výpis dosud provedených operací. Azure přečte tento stavový soubor a předá objekt stavu jako odpověď na požadavky rozhraní API. Soubor má maximální povolenou velikost; Pokud velikost překročí prahovou hodnotu, Azure ji nemůže úplně přečíst a zobrazí chybu stavu. V každém restartování počítače se některé operace provádějí rozšířením (i když se úspěšně nainstalovalo dříve), které připojují stavový soubor. Pokud se počítač restartuje mnohokrát, velikost stavového souboru překročí prahovou hodnotu, což způsobí tuto chybu. Chybová zpráva přečte:
Handler Microsoft.VisualStudio.Services.TeamServicesAgent:1.27.0.2 status file 0.status size xxxxxx bytes is too big. Max Limit allowed: 131072 bytes
. Všimněte si, že instalace rozšíření mohla být úspěšná, ale tato chyba skryje skutečný stav rozšíření.Tento problém jsme opravili pro restartování počítače (verze
1.27.0.2
pro rozšíření Windows a1.21.0.1
linuxové rozšíření atd.), takže při restartování se do stavového souboru nic nedají přidat. Pokud jste měli tento problém s rozšířením před provedením opravy (to znamená, že jste měli tento problém s dřívějšími verzemi rozšíření) a vaše rozšíření se automaticky opravilo na verze s touto opravou, problém zůstane zachován. Důvodem je to, že při aktualizaci rozšíření stále funguje novější verze rozšíření se starším stavovým souborem. K tomuto problému v současné době může docházet, pokud používáte starší verzi rozšíření s příznakem k vypnutí automatických aktualizací podverze nebo pokud se z dřívější verze rozšíření přenesl velký stavový soubor do novějších verzí, které opravu obsahují, nebo z jiného důvodu. V takovém případě můžete tento problém pořídit odinstalací a opětovnou instalací rozšíření. Odinstalace rozšíření vyčistí celý adresář rozšíření, takže se vytvoří nový stavový soubor pro novou instalaci. Musíte nainstalovat nejnovější verzi rozšíření. Toto řešení je trvalé řešení a po provedení tohoto problému byste se neměli znovu setkat.Problém s vlastními daty: Tento problém s rozšířením není, ale někteří zákazníci nahlásili nejasnosti týkající se vlastního umístění dat na virtuálním počítači při přepínání verzí operačního systému. Doporučujeme následující alternativní řešení. Python 2 je zastaralý, takže jsme vytvořili rozšíření pro práci s Pythonem 3. Pokud stále používáte starší verze operačního systému, které nemají ve výchozím nastavení nainstalovaný Python 3, měli byste nainstalovat Python 3 na virtuální počítač nebo přepnout na verze operačního systému, které mají Ve výchozím nastavení nainstalovaný Python 3. Na virtuálních počítačích s Linuxem se vlastní data zkopírují do souboru
/var/lib/waagent/ovf-env.xml
pro starší verze agenta Microsoft Azure Linux a novější/var/lib/waagent/CustomData
verze agenta Microsoft Azure Linux. Zdá se, že zákazníci, kteří mají pevně zakódované pouze jednu z těchto dvou cest, čelí problémům při přepínání verzí operačního systému, protože soubor v nové verzi operačního systému neexistuje, ale druhý soubor je k dispozici. Abyste se vyhnuli narušení zřizování virtuálních počítačů, měli byste zvážit oba soubory v šabloně, aby v případě selhání jednoho z nich měl být druhý úspěšný.
Další informace o šablonách ARM najdete v tématu Definování prostředků v šablonách Azure Resource Manageru.
Použití šablony:
Na kartě Skupiny nasazení ve službě Azure Pipelines zvolte +Nový a vytvořte novou skupinu.
Zadejte název skupiny a volitelně i popis a pak zvolte Vytvořit.
Na kartě Vydané verze ve službě Azure Pipelines vytvořte kanál verze s fází, která obsahuje úlohu nasazení šablony ARM.
Zadejte parametry požadované pro úlohu, jako je předplatné Azure, název skupiny prostředků, umístění a informace o šabloně, a uložte kanál verze.
Vytvořte verzi z kanálu verze pro instalaci agentů.
Instalace agentů pomocí rozšířených možností nasazení
Na kartě Skupiny nasazení ve službě Azure Pipelines zvolte +Nový a vytvořte novou skupinu.
Zadejte název skupiny a volitelně i popis a pak zvolte Vytvořit.
Na kartě Vydané verze ve službě Azure Pipelines vytvořte kanál verze s fází, která obsahuje úlohu nasazení šablony ARM.
Vyberte úlohu a rozbalte část Upřesnit možnosti nasazení pro virtuální počítače . Parametry v této části nakonfigurujte následujícím způsobem:
Povolit požadavky: Vyberte Konfigurovat s agentem skupiny nasazení.
Koncový bod Azure Pipelines/TFS: Vyberte existující připojení služby Team Foundation Server/TFS, které odkazuje na váš cíl. Registrace agenta pro skupiny nasazení vyžaduje přístup k vašemu projektu sady Visual Studio. Pokud ještě nemáte připojení ke službě, zvolte Přidat a vytvořit ho. Nakonfigurujte ho tak, aby používal osobní přístupový token (PAT) s oborem omezeným na skupinu nasazení.
Projekt: Zadejte projekt obsahující skupinu nasazení.
Skupina nasazení: Zadejte název skupiny nasazení, pro kterou budou agenti zaregistrováni.
Kopírování značek virtuálních počítačů Azure do agentů: Po nastavení (zaškrtnuté) se všechny značky, které jsou na virtuálním počítači Azure nakonfigurované, zkopírují do odpovídajícího agenta skupiny nasazení. Ve výchozím nastavení se všechny značky Azure zkopírují pomocí formátu
Key: Value
. NapříkladRole: Web
.
Zadejte další parametry požadované pro úlohu, jako je předplatné Azure, název skupiny prostředků a umístění, a pak kanál verze uložte.
Vytvořte verzi z kanálu verze pro instalaci agentů.
Příbuzná témata
- Spuštění v úloze skupiny počítačů
- Nasazení agenta ve Windows
- Nasazení agenta v systému macOS
- Nasazení agenta v Linuxu
Nápověda a podpora
- Projděte si tipy pro řešení potíží.
- Získejte rady o Stack Overflow.
- Zveřejněte své otázky, vyhledejte odpovědi nebo navrhněte funkci v komunitě vývojářů Azure DevOps.
- Získejte podporu pro Azure DevOps.