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.

Důležitý

Azure DevOps Demo Generator se už nepodporuje, ale můžete ho použít k vytváření ukázkových prostředí. V současné době není k dispozici žádná náhrada a její funkce nebo dostupnost se můžou po cestě změnit.

  1. Získejte a spusťte projekt ADOGenerator v sadě Visual Studio nebo integrovaném vývojovém prostředí podle vašeho výběru.

  2. Po zobrazení výzvy k zadání čísla šablon ze seznamu šablon zadejte 39 pro automatizaci nasazení kontejnerů Dockeru pomocí Azure Pipelines a stiskněte Enter.

  3. Zvolte metodu ověřování. Můžete nastavit a použít token PAT (Personal Access Token) nebo použít přihlášení zařízení.

    Poznámka

    Pokud nastavíte PAT, nezapomeňte autorizovat potřebné obory. V tomto modulu můžete použít úplný přístup, ale v reálné situaci byste měli zajistit, abyste udělili pouze nezbytné obory.

  4. Zadejte název vaší organizace Azure DevOps a stiskněte Enter.

  5. Pokud se zobrazí výzva, zadejte azure DevOps PAT a stiskněte Enter.

  6. Zadejte název projektu, například Space Game – web – Docker, a stiskněte Enter.

  7. Po vytvoření projektu přejděte do vaší organizace Azure DevOps v prohlížeči (na adrese https://dev.azure.com/<your-organization-name>/) a vyberte projekt.

Rozvětvování úložiště

Pokud jste to ještě neudělali, vytvořte fork úložiště mslearn-tailspin-spacegame-web-docker .

  1. Na GitHubu přejděte do úložiště mslearn-tailspin-spacegame-web-docker .

  2. V pravém horním rohu obrazovky vyberte Fork .

  3. Jako vlastníka zvolte svůj účet GitHub a pak vyberte Vytvořit fork.

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

Spuštění Cloud Shellu na webu Azure Portal

  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 skladová položka B1 není 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

V této části přidáte do kanálu proměnnou, která ukládá název vaší webové aplikace ve službě App Service. 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. V horní části stránky vyberte Uložit.

  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 Vytvořit připojení služby a pak zvolte Azure Resource Manager a pak vyberte Další.

  5. V horní části stránky Registrace aplikace (automaticky)

  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. Jako typ ověřování vyberte principál služby.

  12. 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
  13. Ujistěte se, že je vybraná možnost Udělit přístup všem kanálům.

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