Cvičení – nastavení prostředí Azure DevOps

Dokončeno

V této části se dozvíte, jak nastavit organizaci Azure DevOps a vytvořit prostředí Azure App Service, do kterého nasadíte.

Naučíte se:

  • Nastavte projekt Azure DevOps.
  • Spravujte pracovní položky pomocí Azure Boards.
  • Vytvořte prostředí Azure App Service.
  • Vytvořte proměnné kanálu v Azure Pipelines.
  • Vytvořte připojení ke službě pro ověření v předplatném Azure.

Přidání uživatele do Azure DevOps

K dokončení tohoto modulu potřebujete vlastní předplatné Azure. S Azure můžete začít zdarma.

K práci s Azure DevOps nepotřebujete předplatné Azure, ale v tomto modulu použijete Azure DevOps k nasazení do prostředků Azure. Pokud chcete tento proces zjednodušit, přihlaste se k Azure i Azure DevOps pomocí stejného účtu Microsoft.

Pokud k přihlášení k Azure a Azure DevOps používáte různé účty Microsoft, přidejte uživatele s úrovní přístupu Basic vaší organizaci DevOps pod účtem Microsoft, který používáte pro přihlášení k Azure. Další podrobnosti najdete v tématu Přidání uživatelů do organizace nebo projektu.

Pak se odhlaste z Azure DevOps a znovu se přihlaste pomocí stejného účtu, který jste použili k přihlášení k předplatnému Azure.

Získání projektu Azure DevOps

Tady se ujistěte, že je vaše organizace Azure DevOps nastavená tak, aby dokončila zbytek tohoto modulu. Uděláte to tak, že spustíte šablonu, která vytvoří projekt v Azure DevOps.

Moduly v tomto studijním programu tvoří progresi. Webový tým Tailspin sledujete na své cestě DevOps. Pro účely výuky má každý modul svůj vlastní projekt Azure DevOps.

Spusťte šablonu

Spusťte šablonu, která nastaví vaši organizaci Azure DevOps:

Spusťte šablonu

Na webu Azure DevOps Demo Generator spusťte šablonu následujícím postupem:

  1. Vyberte Přihlásit se a přijměte podmínky použití.

  2. Na stránce Vytvořit nový projekt vyberte organizaci Azure DevOps. Zadejte název projektu, například Space Game – web – Docker.

    snímek obrazovky s vytvořením projektu prostřednictvím azure DevOps Demo Generatoru

  3. Vyberte Ano, chci vytvořit fork tohoto úložiště>Autorizovat. Pokud se zobrazí výzva, autorizujte přístup k vašemu účtu GitHub.

    Důležitý

    Tuto možnost musíte vybrat, aby se šablona mohl připojit k úložišti GitHub. Nezapomeňte zaškrtnout políčko, i když jste už vytvořili fork úložiště Space Game. Šablona bude používat existující fork.

  4. Vyberte Vytvořit projekt.

  5. Vyberte a přejděte na projekt, abyste otevřeli svůj projekt v Azure DevOps.

Důležitý

V tomto modulu obsahuje stránka Vyčištění prostředí Azure DevOps důležité kroky čištění. Čištění pomáhá zajistit, že vám nedojdou volné minuty pro sestavení. Nezapomeňte postupovat podle kroků čištění, i když tento modul nedokončíte.

Nastavení viditelnosti projektu

Na začátku je váš fork úložiště Space Game na GitHubu nastavený na veřejný, zatímco projekt vytvořený šablonou Azure DevOps je nastavený na privátní. K veřejnému úložišti na GitHubu může přistupovat kdokoli, zatímco soukromé úložiště je přístupné jenom vám a lidem, se kterými ho chcete sdílet. Podobně, veřejné projekty v Azure DevOps poskytují neověřeným uživatelům pouze přístup pro čtení, zatímco soukromé projekty vyžadují, aby uživatelé měli oprávněný přístup a byli ověřeni pro přístup ke službám.

V tuto chvíli není nutné upravovat žádná z těchto nastavení pro účely tohoto modulu. U vašich osobních projektů však musíte určit viditelnost a přístup, který chcete udělit ostatním. Pokud je váš projekt například opensourcový, můžete se rozhodnout, že své úložiště GitHub i projekt Azure DevOps zveřejníte. Pokud je váš projekt proprietární, obvykle byste své úložiště GitHub i projekt Azure DevOps mohli nastavit jako soukromé.

Později můžete najít následující zdroje informací, které vám pomůžou určit, která možnost je pro váš projekt nejvhodnější:

Přesuňte pracovní položku do Provádí se

Tady přiřadíte pracovní položku sami sobě v Azure Boards. Pracovní položku přesunete také do stavu Probíhá. V praxi byste vy a váš tým vytvořili pracovní položky na začátku každého sprintunebo iterace práce.

Toto pracovní přiřazení vám poskytne kontrolní seznam, ze kterého můžete pracovat. Umožňuje ostatním členům týmu zjistit, na čem pracujete a kolik práce zbývá. Pracovní položka také pomáhá vynucovat limity probíhající práce (WIP), aby tým nenabíral příliš mnoho práce najednou.

Tady přesunete první položku, Vytvořit verzi kontejneru webu pomocí Dockeru, do sloupce Probíhá a pak se přiřadíte k pracovní položce.

Nastavení pracovní položky:

  1. V Azure DevOps přejděte na Boards. Potom v nabídce vyberte Boards.

    snímek obrazovky Azure DevOps s umístěním nabídky Boards

  2. V pracovním úkolu Vytvoření verze kontejneru webové stránky pomocí Dockeru vyberte šipku dolů v dolní části karty a poté přiřaďte úkol sobě.

    snímek obrazovky Azure Boards znázorňující umístění šipky dolů

  3. Přesuňte pracovní položku ze sloupce K vyřízení do sloupce V řešení.

    snímek obrazovky z Azure Boards, který zobrazuje kartu ve sloupci Probíhá

Na konci tohoto modulu po dokončení úkolu přesunete kartu do sloupce Hotovo.

Vytvoření prostředí Azure App Service

V modulu Vytvoření kanálu verze pomocí Azure Pipelines jste vytvořili instanci služby App Service pomocí portálu Azure. I když je portál skvělým nástrojem pro zkoumání nabídek Azure, může být nastavení komponent, jako je App Service, těžkopádná.

V tomto modulu použijete Azure CLI ke spuštění prostředků potřebných k nasazení a spuštění instance služby App Service. K Azure CLI se dostanete z terminálu nebo přes Visual Studio Code.

Důležitý

Abyste mohli absolvovat cvičení v tomto modulu, musíte mít vlastní předplatné Azure.

Spusťte Cloud Shell v Azure portálu

  1. Přejděte na portál Azure a přihlaste se.

  2. V řádku nabídek vyberte Cloud Shell a pak vyberte prostředí Bashu.

    snímek obrazovky webu Azure Portal zobrazující umístění položky nabídky Cloud Shellu

    Poznámka

    Cloud Shell vyžaduje, aby prostředek úložiště Azure uchovával všechny soubory, které vytvoříte v Cloud Shellu. Při prvním otevření Cloud Shellu se zobrazí výzva k vytvoření skupiny prostředků, účtu úložiště a sdílené složky Azure Files. Toto nastavení se automaticky použije pro všechny budoucí relace Cloud Shellu.

Výběr oblasti Azure

Oblast je jedno nebo více datacenter Azure umístěných v určité geografické lokalitě. Mezi příklady oblastí patří USA – východ, USA – západ a Severní Evropa. Každý prostředek Azure, například instance služby App Service, je přidělený konkrétní oblasti.

Pokud chcete zjednodušit proces spouštění příkazů, začněte výběrem výchozí oblasti. Jakmile je zadána výchozí oblast, následující příkazy tuto oblast ve výchozím nastavení použijí, pokud není explicitně zadána jiná oblast.

  1. Spuštěním následujícího příkazu zobrazte seznam dostupných oblastí pro vaše předplatné Azure.

    az account list-locations \
      --query "[].{Name: name, DisplayName: displayName}" \
      --output table
    
  2. Ve výstupu vyberte oblast, která je v blízkosti vašeho umístění, ze sloupce Název. Můžete například zvolit eastasia nebo westus2.

  3. Spuštěním následujícího příkazu nastavte výchozí oblast. Zástupný symbol nahraďte názvem oblasti, kterou jste vybrali.

    az configure --defaults location=<REGION>
    

    Tento příklad nastaví westus2 jako výchozí oblast:

    az configure --defaults location=westus2
    

Vytvoření proměnných Bash

V této části vytvoříte proměnné Bash, aby byl proces nastavení pohodlnější a méně náchylný k chybám. Použití proměnných pro sdílené textové řetězce pomáhá vyhnout se náhodným překlepům.

  1. V Cloud Shellu vygenerujte náhodné číslo. V dalším kroku usnadníte vytváření globálně jedinečných názvů pro určité služby.

    resourceSuffix=$RANDOM
    
  2. Vytvořte globálně jedinečné názvy pro webovou aplikaci App Service a Azure Container Registry. Použití dvojitých uvozovek v těchto příkazech vyzve Bash k interpolaci proměnných pomocí vložené syntaxe.

    webName="tailspin-space-game-web-${resourceSuffix}"
    registryName="tailspinspacegame${resourceSuffix}"
    
  3. Vytvořte dvě další proměnné Bash pro uložení názvů vaší skupiny prostředků a plánu služby App Service.

    rgName='tailspin-space-game-rg'
    planName='tailspin-space-game-asp'
    

Vytvoření prostředků Azure

Poznámka

Pro účely výuky zde použijete výchozí nastavení sítě. Díky těmto nastavením bude váš web přístupný z internetu. V praxi můžete nakonfigurovat virtuální síť Azure, která umístí váš web do sítě, která není směrovatelná na internet a ke které má přístup jenom vy a váš tým. Později můžete síť překonfigurovat tak, aby byl web dostupný uživatelům.

  1. Spuštěním následujícího příkazu az group create vytvořte skupinu prostředků s použitím názvu definovaného dříve.

    az group create --name $rgName
    
  2. Spuštěním následujícího příkazu az acr create vytvořte službu Azure Container Registry s použitím dříve definovaného názvu.

    az acr create --name $registryName \
      --resource-group $rgName \
      --sku Standard \
      --admin-enabled true
    
  3. Spuštěním následujícího příkazu az appservice plan create vytvořte plán služby App Service s použitím dříve definovaného názvu.

    az appservice plan create \
      --name $planName \
      --resource-group $rgName \
      --sku B1 \
      --is-linux
    

    Argument --sku určuje plán B1. Tento plán běží na základní úrovni. Argument --is-linux určuje použití Linuxových pracovníků.

    Důležitý

    Pokud není skladová položka B1 ve vašem předplatném Azure dostupná, zvolte jiný plán, například S1 (Standard).

  4. Spuštěním následujícího příkazu az webapp create vytvořte instanci služby App Service.

    az webapp create \
      --name $webName \
      --resource-group $rgName \
      --plan $planName \
      --deployment-container-image-name $registryName.azurecr.io/web:latest
    
  5. Spuštěním následujícího příkazu az webapp list zobrazte seznam názvu hostitele a stavu instance služby App Service.

    az webapp list \
      --resource-group $rgName \
      --query "[].{hostName: defaultHostName, state: state}" \
      --output table
    

    Poznamenejte si název hostitele pro spuštěnou službu. Budete ho potřebovat později, až ověříte svou práci. Tady je příklad:

    HostName                                        State
    ----------------------------------------------  -------
    tailspin-space-game-web-4692.azurewebsites.net  Running
    
  6. Spuštěním následujícího příkazu az acr list zobrazte seznam přihlašovacího serveru instance služby Azure Container Registry. Tento název serveru budete potřebovat při pozdějším vytváření proměnných pipeline.

    az acr list \
      --resource-group $rgName \
      --query "[].{loginServer: loginServer}" \
      --output table
    

    Poznamenejte si přihlašovací server. Budete ho potřebovat později při konfiguraci kanálu. Tady je příklad:

    LoginServer
    ---------------------------------
    tailspinspacegame4692.azurecr.io    
    

Důležitý

Stránka Vyčištění prostředí Azure DevOps v tomto modulu obsahuje důležité kroky pro vyčištění. Úklid zajistí, že po dokončení modulu nebudou účtovány poplatky za prostředky Azure. Nezapomeňte provést kroky čištění, i když tento modul nedokončíte.

Vytváření proměnných kanálu v Azure Pipelines

Ve Vytvoření kanálu pro vydání se službou Azure Pipelinesjste do kanálu přidali proměnnou, která ukládá název vaší webové aplikace v App Service. Provedete zde totéž. Kromě toho přidáte název služby Azure Container Registry.

Tyto názvy můžete pevně zakódovat v konfiguraci kanálu, ale pokud je definujete jako proměnné, bude vaše konfigurace opakovaně použitelná. Navíc, pokud se změní názvy instancí, můžete aktualizovat proměnné a aktivovat kanál beze změny konfigurace.

Přidání proměnných:

  1. V Azure DevOps přejděte na svůj projekt Space Game – web – Docker.

  2. V části Pipelinesvyberte knihovna.

    snímek obrazovky služby Azure Pipelines s možností nabídky Knihovna

  3. Vyberte + Skupina proměnných.

  4. V části Vlastnostizadejte Release pro název skupiny proměnných.

  5. V části Proměnnévyberte + Přidat.

  6. Jako název proměnné zadejte WebAppName. Jako hodnotu zadejte název instance služby App Service vytvořené výše, například tailspin-space-game-web-4692.

    Důležitý

    Nastavte název instance služby App Service, nikoli její název hostitele. V tomto příkladu byste zadali tailspin-space-game-web-4692 a ne tailspin-space-game-web-4692.azurewebsites.net.

  7. Opakujte proces a přidejte další proměnnou s názvem RegistryName s hodnotou přihlašovacího serveru služby Azure Container Registry, například tailspinspacegame4692.azurecr.io.

  8. Vyberte oprávnění kanálua pak výběrem symbolu + přidejte kanál. Výběrem mslearn-tailspin-spacegame-web-docker udělíte pipeline oprávnění k přístupu ke skupině proměnných.

  9. Vyberte možnost Uložit v horní části stránky a uložte proměnné. Vaše skupina proměnných by měla vypadat takto:

    snímek obrazovky se službou Azure Pipeline zobrazující skupinu proměnných Skupina obsahuje dvě proměnné.

Vytvořte požadovaná připojení služeb

Tady vytvoříte připojení služby, které službě Azure Pipelines umožní přístup k vašemu předplatnému Azure. Azure Pipelines používá toto připojení služby k nasazení webu do služby App Service. V předchozím modulu jste vytvořili podobné připojení služby. Vytvoříte také připojení k Registru Dockeru pro publikování kontejneru do služby Azure Container Registry.

Důležitý

Ujistěte se, že jste přihlášení k webu Azure Portal i k Azure DevOps pod stejným účtem Microsoft.

  1. V Azure DevOps přejděte na svůj projekt Space Game – web – Docker.

  2. V dolním rohu stránky zvolte Nastavení projektu.

  3. V části Pipelinesvyberte Připojení služby (Service connections).

  4. Vyberte Nové připojení služby, poté zvolte Azure Resource Manager, poté vyberte Další.

  5. V horní části stránky, principál služby (automatický). Pak vyberte Další.

  6. Vyplňte tato pole:

    Pole Hodnota
    Úroveň oboru Předplatné
    Předplatné Vaše předplatné Azure
    Skupina prostředků tailspin-space-game-rg
    Název připojení služby Resource Manager – Tailspin – Space Game

    Během tohoto procesu se může zobrazit výzva, abyste se přihlásili ke svému účtu Microsoft.

  7. Ujistěte se, že je vybraná možnost Udělit přístup všem kanálům.

  8. Vyberte Uložit.

    Azure DevOps provede testovací připojení a ověří, že se může připojit k vašemu předplatnému Azure. Pokud se Azure DevOps nemůže připojit, máte možnost se přihlásit podruhé.

  9. Vyberte Nové připojení služby, pak zvolte registru Dockeru a pak vyberte Další.

  10. V horní části stránky vyberte Azure Container Registry.

  11. Vyplňte tato pole:

    Pole Hodnota
    Předplatné Vaše předplatné Azure
    Registr kontejnerů Azure Vyberte ten, který jste vytvořili dříve.
    Název připojení služby Připojení ke Container Registry
  12. Ujistěte se, že je vybraná možnost Udělit oprávnění k přístupu ke všem kanálům.

  13. Až budete hotovi, vyberte Uložit.