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ů:

Informace o agentech akanálch

Spuštění instalačního skriptu na cílových serverech

  1. Na kartě Skupiny nasazení ve službě Azure Pipelines zvolte +Nový a vytvořte novou skupinu.

  2. Zadejte název skupiny a volitelně i popis a pak zvolte Vytvořit.

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

  4. Zvolte Použít osobní přístupový token ve skriptu pro ověřování. Další informace.

  5. Zvolte Kopírovat skript do schránky.

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

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

  1. Na kartě Skupiny nasazení ve službě Azure Pipelines zvolte +Nový a vytvořte novou skupinu.

  2. Zadejte název skupiny a volitelně i popis a pak zvolte Vytvořit.

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

    Instalace rozšíření agenta Azure Pipelines

  4. V okně Instalace rozšíření zadejte název předplatného Azure Pipelines, které se má použít. Pokud je https://dev.azure.com/contosoadresa URL například , stačí zadat contoso.

  5. Zadejte název projektu a název skupiny nasazení.

  6. Volitelně můžete zadat název agenta. Pokud není zadaný, použije název virtuálního počítače připojený s -DG.

  7. Zadejte token PAT (Personal Access Token), který se má použít k ověřování ve službě Azure Pipelines.

  8. 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ů.

  9. Pokud chcete zahájit instalaci agenta na tomto virtuálním počítači, zvolte OK .

  10. 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 AgentMajorVersionauto|N. V Azure DevOps Serveru 2022.1 a novějším jsou auto|2|3povolené 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/contosovaše adresa URL, stačí zadat contoso
  • 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 TeamServicesAgentLinuxparametr 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 a 1.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:

  1. Na kartě Skupiny nasazení ve službě Azure Pipelines zvolte +Nový a vytvořte novou skupinu.

  2. Zadejte název skupiny a volitelně i popis a pak zvolte Vytvořit.

  3. Na kartě Vydané verze ve službě Azure Pipelines vytvořte kanál verze s fází, která obsahuje úlohu nasazení šablony ARM.

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

  5. Vytvořte verzi z kanálu verze pro instalaci agentů.

Instalace agentů pomocí rozšířených možností nasazení

  1. Na kartě Skupiny nasazení ve službě Azure Pipelines zvolte +Nový a vytvořte novou skupinu.

  2. Zadejte název skupiny a volitelně i popis a pak zvolte Vytvořit.

  3. Na kartě Vydané verze ve službě Azure Pipelines vytvořte kanál verze s fází, která obsahuje úlohu nasazení šablony ARM.

  4. 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říklad Role: Web.

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

  6. Vytvořte verzi z kanálu verze pro instalaci agentů.

Nápověda a podpora