Sdílet prostřednictvím


Nasazení webových aplikací do virtuálních počítačů Azure se skupinami nasazení

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020

V dřívějších verzích Služby Azure Pipelines vyžadovalo nasazení aplikací na několik serverů významné plánování a údržbu. Vzdálenou komunikace Prostředí Windows PowerShell musela být povolena ručně, musely být otevřené konkrétní porty a agenti nasazení museli být nainstalováni na každém serveru. Správa nasazení zavedení také vyžadovala ruční zásah. Tyto výzvy byly výrazně zjednodušeny zavedením skupin nasazení.

Skupina nasazení nainstaluje agenta nasazení na každý cílový server ve skupině a umožňuje kanálu verze postupně nasazovat aplikaci na tyto servery. Pro zavedení nasazení můžete vytvořit několik kanálů, což umožňuje postupné doručování aktualizací aplikací do různých skupin uživatelů.

Poznámka:

Skupiny nasazení se používají v klasických kanálech. Pokud používáte kanály YAML, přečtěte si téma Prostředí.

Požadavky

produkt Požadavky
Azure DevOps – organizace Azure DevOps .
– projekt Azure DevOps .
Generátor ukázek Azure DevOps - Nastavte demo generátor.
– Vytvořte nový projekt Azure DevOps a nezapomeňte zvolit šablonu DeploymentGroups (číslo 15 v seznamu).
Azure – předplatné Azure.

Nastavení prostředků v Azure

Tato část vás provede nastavením prostředků Azure pomocí šablony ARM. Zřizuje šest webových serverů virtuálního počítače s nakonfigurovanou službou IIS, virtuálním počítačem s SQL Serverem (db serverem), nástrojem pro vyrovnávání zatížení Azure a všemi potřebnými síťovými připojeními.

  1. Výběrem tlačítka Nasadit do Azure zahájíte nasazení prostředků v Azure.

  2. Vyplňte požadované informace a pak vyberte Zkontrolovat a vytvořit. Můžete použít libovolnou povolenou kombinaci uživatelských jmen a hesel, protože se znovu nepoužijí v tomto kurzu. Název předpony env se přidá do všech názvů prostředků, aby se zajistila globální jedinečnost. Použijte něco osobního nebo náhodného. Pokud během ověřování nebo vytváření dojde ke konfliktu pojmenování, zkuste tuto hodnotu změnit a znovu nasadit. Zřizování obvykle trvá 10–15 minut.

    Snímek obrazovky znázorňující, jak nastavit prostředky Azure v Azure

  3. Po dokončení ověření vyberte Vytvořit a nasaďte prostředky.

  4. Po dokončení nasazení přejděte na webu Azure Portal do své skupiny prostředků a zkontrolujte vygenerované prostředky. Výběrem virtuálního počítače se serverem DB s sqlSrv v názvu zobrazíte jeho podrobnosti.

    Snímek obrazovky zobrazující nově vytvořené prostředky v Azure

  5. Zkopírujte název DNS , jak ho budete potřebovat v pozdějším kroku.

    Snímek obrazovky zobrazující virtuální počítač se serverem DB v Azure

Vytvořte skupinu nasazení

Skupina nasazení je kolekce počítačů, z nichž každý má nainstalovaného agenta nasazení. Tyto počítače komunikují se službou Azure Pipelines za účelem koordinace nasazení aplikací.

  1. Pomocí ukázkového generátoru přejděte k projektu Azure DevOps, který jste vytvořili dříve.

  2. Vyberte kanály>skupiny nasazení.

  3. Vyberte Přidat skupinu nasazení.

  4. Jako název skupiny nasazení zadejte release a pak vyberte Vytvořit. Vygeneruje se registrační skript. Tento skript můžete použít k registraci cílových serverů a ruční instalaci agenta nasazení. V tomto kurzu se ale cílové servery automaticky zaregistrují jako součást kanálu verze.

Vytvořte osobní přístupový token

  1. V projektu Azure DevOps vyberte ikonu Uživatelská nastavení a pak vyberte Tokeny patového přístupu.

  2. Vyberte Nový token, zadejte název pat a pak zvolte datum vypršení platnosti.

  3. Vyberte Možnost Vlastní definované pro obory, vyberte Zobrazit všechny obory a pak zkontrolujte následující obory:

    1. Project a Team ->Read &write
    2. Fondy agentů –>Čtení a správa
    3. Skupiny nasazení –>Čtení a správa
  4. Až budete hotovi, vyberte Vytvořit a zkopírujte pat podle toho, jak ho budete potřebovat v následující části.

Konfigurace kanálu verze

Šablona kanálu verze Classic zahrnuje jednu úlohu agenta, fázi agenta, která spouští úlohy na agenta ve fondu agentů. Zahrnuje také dvě úlohy skupiny nasazení: fázi skupiny nasazení a fázi nasazení služby IIS. Úlohy skupiny nasazení spouštějí úlohy na počítačích definovaných ve skupině nasazení. Ke konfiguraci jednotlivých úloh použijte následující postup.

Konfigurace úlohy agenta

  1. Přejděte do projektu Azure DevOps a vyberte Pipelines>Release.

  2. Vyberte definiton verze skupiny nasazení a pak vyberte Upravit.

  3. Výběrem karty Úkoly zobrazíte úlohy nasazení v kanálu.

  4. Vyberte fázi fáze agenta a pak zvolte fond Azure Pipelines a specifikaci windows-latest .

    Snímek obrazovky zobrazující fázi agenta v kanálu verze Classic

  5. Vyberte úlohu Nasazení skupiny prostředků Azure , vyberte předplatné Azure , které jste použili dříve k vytvoření prostředků, a pak vyberte Autorizovat k autorizaci připojení. Po autorizaci vyberte skupinu prostředků , kterou jste vytvořili pro účely tohoto kurzu.

    Snímek obrazovky znázorňující, jak nakonfigurovat skupinu prostředků v úloze nasazení

  6. Tato úloha se spustí na virtuálních počítačích v Azure a musí být schopná se připojit zpět ke kanálu, aby se dokončily požadavky na skupinu nasazení. Pokud chcete připojení zabezpečit, musí být připojení služby nastaveno pomocí tokenu PAT (Personal Access Token), který jste vytvořili dříve. Posuňte se ve stejné úloze dolů a v části Připojení služby Azure Pipelines vyberte Nový.

  7. Na panelu Připojení k nové službě zadejte adresu URL připojení vaší organizace https://dev.azure.com/organizationNameAzure DevOps. Vložte osobní přístupový token , který jste vytvořili dříve, zadejte název připojení služby a zaškrtněte políčko Udělit oprávnění pro přístup ke všem kanálům . Vyberte Ověřit a uložit, až skončíte.

    Snímek obrazovky znázorňující, jak nakonfigurovat nové připojení služby pro úlohu nasazení

  8. Posuňte se dolů v úloze nasazení skupiny prostředků Azure a pak vyberte z rozevíracích nabídek týmový projekt a skupinu nasazení , kterou jste vytvořili dříve.

    Snímek obrazovky znázorňující, jak nakonfigurovat týmový projekt a skupinu nasazení pro úkol nasazení

Konfigurace úloh skupiny nasazení

  1. V definici verze Skupiny nasazení vyberte úlohu fáze skupiny nasazení . Tato úloha provádí úlohy na počítačích definovaných ve skupině nasazení. Tato úloha používá značku SQL-Svr-DB k nasazení do podmnožina cílů ve skupině nasazení. V rozevíracím seznamu Skupina nasazení vyberte skupinu nasazení verze , kterou jste vytvořili dříve.

    Snímek obrazovky znázorňující, jak nakonfigurovat úlohu fáze skupiny nasazení

  2. Vyberte úlohu fáze nasazení služby IIS . Tato úloha používá značku WebSrv k nasazení webové aplikace na podmnožinu webových serverů. V rozevíracím seznamu zvolte skupinu nasazení , kterou jste vytvořili dříve.

  3. Úlohy Odpojit Azure Network Load Balancer a Připojit Azure Network Load Balancer jsou zastaralé. Prozatím je můžete zakázat tak, že kliknete pravým tlačítkem myši na úkol a vyberete Zakázat výběr úkolů.

  4. Úlohy správy webové aplikace IIS a nasazení webové aplikace IIS jsou předem vyplněné a nevyžaduje žádné změny.

  5. V levém horním rohu vyberte kartu Proměnné , vyberte Proměnné kanálu a zadejte následující hodnoty. Zástupný symbol v proměnné DefaultConnectionString nahraďte názvem DNS serveru SQL, který jste zkopírovali dříve:

    Název proměnné Proměnná hodnota
    Název databáze PartsUnlimited-Dev
    DBPassword xxxxxxxx
    DBUserName xxxxxxxx
    DefaultConnectionString Zdroj dat=[YOUR_DNS_NAME]; Initial Catalog=PartsUnlimited-Dev; ID uživatele=xxxxxxxx;Password=xxxxxxxx;MultipleActiveResultSets=False; Časový limit připojení=30;
    Název serveru localhost
  6. Vyberte Uložit, přidejte komentář, pokud chcete, a pak vyberte OK.

Tip

Pokud se zobrazí chyba, že proměnná DefaultConnectionString musí být uložena jako tajný kód, vyberte ikonu visacího zámku vedle jeho hodnoty, abyste ji ochránili.

Vytvoření verze a nasazení aplikace

Teď, když je definice vydané verze nakonfigurovaná a uložená, můžete pokračovat vytvořením verze pro nasazení webové aplikace do Azure. Než ale začnete s vydáním verze, musíte se ujistit, že se kanál buildu spustil alespoň jednou. Tím se vygeneruje artefakt kanálu vyžadovaný pro nasazení. Pokud se pokusíte spustit kanál verze před kanálem buildu, oddíl Artefakty na panelu vydaných verzí bude prázdný. Podle následujících kroků spusťte kanál, vygenerujte artefakt kanálu a pak vytvořte novou verzi:

  1. V projektu Azure DevOps vyberte Kanál a pak vyberte kanál buildu Skupiny nasazení .

  2. Vyberte Spustit kanál. Na panelu spuštění kanálu vyberte specifikaci agenta a pak vyberte Spustit.

    Snímek obrazovky znázorňující, jak nakonfigurovat spuštění kanálu

  3. Po úspěšném dokončení kanálu vygeneruje artefakt kanálu. Můžete ho zobrazit v okně souhrnu kanálu:

    Snímek obrazovky zobrazující vygenerovaný artefakt kanálu

  4. Teď přejděte do verze Pipelines>, vyberte definici verze a pak výběrem možnosti Vytvořit verzi spusťte kanál nasazení.

    Snímek obrazovky znázorňující, jak vytvořit novou verzi

  5. Vyberte Vytvořit , až budete hotovi, a pak výběrem spuštění kanálu otevřete přehled. Měli byste vidět probíhající kanál. Kliknutím na fázi zobrazíte podrobné protokoly nasazení.

    Snímek obrazovky zobrazující přehled kanálu verze

  6. V souhrnném okně uvidíte stav každé fáze nasazení:

    Snímek obrazovky zobrazující souhrn vydané verze

Řešení problémů

  • Nelze se připojit k hlavnímu nebo cílovému serveru nebo k úspěšnému navázání připojení k serveru, ale během procesu přihlášení došlo k chybě.

Pokud při spuštění úlohy Nasazení sql Dacpac na skupině počítačů narazíte na některou z těchto chyb, postupujte takto:

  1. Ověřte databázi:

Ujistěte se, že se databáze úspěšně vytvořila během nasazení prostředků. Můžete to ověřit pomocí Azure CLI nebo sqlcmd:

sqlcmd -S <server-name> -U <username> -P <password> -Q "SELECT name FROM sys.databases"

Pokud databáze v seznamu není, můžete vytvořit novou pomocí následujícího příkazu:

sqlcmd -S <server-name> -U <username> -P <password> -Q "CREATE DATABASE [YourDatabaseName]"
  1. Ověřte ověřování SQL Serveru:

Ujistěte se, že je povolené ověřování SQL Serveru, musí být sql Server nakonfigurovaný tak, aby umožňoval ověřování SQL i Windows (smíšený režim). Povolení:

a. Připojení pomocí SSMS nebo sqlcmd

b) Spusťte tento dotaz:

EXEC xp_instance_regwrite 
    N'HKEY_LOCAL_MACHINE',
    N'Software\\Microsoft\\MSSQLServer\\MSSQLServer',
    N'LoginMode',
    REG_DWORD,
    2;

c) Restartujte službu SQL Serveru, aby se změna projevila:

net stop MSSQLSERVER
net start MSSQLSERVER
  • Někteří z mých agentů jsou offline, i když agent běží na mém virtuálním počítači

Pokud se některý z vašich agentů zobrazuje jako offline, můžete vyzkoušet několik věcí. Nejprve se přihlaste k virtuálnímu počítači, na kterém je agent spuštěný, a spuštěním následujícího příkazu zkontrolujte, jestli se váš virtuální počítač přeloží na stejnou sadu IP adres.

nslookup dev.azure.com

Pokud se všechny virtuální počítače překládají na stejnou sadu IP adres, ujistěte se, že je nástroj pro vyrovnávání zatížení nakonfigurovaný se správným odchozím pravidlem. Do nástroje pro vyrovnávání zatížení v Azure můžete přidat back-endový fond, přidat síťové karty virtuálních počítačů do back-endového fondu a pak ho přidružit k odchozímu pravidlu vašeho nástroje pro vyrovnávání zatížení. Jak to udělat:

  1. Přejděte do Azure a najděte svůj nástroj pro vyrovnávání zatížení.

  2. Vyberte back-endové fondy, zvolte existující fond nebo vytvořte nový a přidejte webové servery do konfigurací IP adres.

  3. Přejděte do pravidel vyrovnávání zatížení, vyberte pravidlo vyrovnávání zatížení a v rozevíracím seznamu Back-endový fond zvolte váš back-endový fond .

Vyčistěte zdroje

Tento kurz vytvořil projekt Azure DevOps a nasadil prostředky v Azure. Pokud je už nepotřebujete, vyčistěte je následujícím postupem:

  1. Odstraňte projekt Azure DevOps: Přejděte do nastavení> projektu– Přehled>odstranění.

  2. Odstraňte skupinu prostředků Azure Všechny prostředky Azure vytvořené během tohoto kurzu se umístily do stejné skupiny prostředků. Odstraněním skupiny prostředků odeberete všechny přidružené prostředky. Můžete to provést prostřednictvím webu Azure Portal nebo rozhraní příkazového řádku:

  • Azure CLI

    az group delete --name <RESOURCE_GROUP_NAME> --yes --no-wait
    
  • Azure Portal

  1. Přejděte do > webu Azure Portal.

  2. Vyberte skupinu prostředků, kterou jste použili v kurzu.

  3. Vyberte Odstranit skupinu prostředků, potvrďte název a pak vyberte Odstranit.