Číst v angličtině

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

Dokončeno

V této lekci se ujistěte, že je vaše organizace Azure DevOps nastavená tak, aby dokončila zbytek tohoto modulu. Vytvoříte také prostředí Azure App Service, do kterých budete nasazovat.

K dosažení těchto cílů:

  • Přidejte uživatele, aby se Azure DevOps mohl připojit k vašemu předplatnému Azure.
  • Nastavte pro tento modul projekt Azure DevOps.
  • V Azure Boards přesuňte pracovní položku pro tento modul do sloupce Probíhá.
  • Ujistěte se, že je váš projekt konfigurovaný místně, abyste mohli odesílat změny do pipeline.
  • Pomocí Azure CLI v Azure Cloud Shellu vytvořte aplikaci Azure App Service a Azure Functions.
  • Vytvořte proměnné pipeline, které definují názvy vaší služby App Service a instance Azure Functions.
  • Vytvořte připojení služby, které umožňuje službě Azure Pipelines bezpečně přistupovat k vašemu předplatnému 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.

I když k práci s Azure DevOps nepotřebujete předplatné Azure, toto cvičení používá Azure DevOps k nasazení do prostředků Azure ve vašem předplatném Azure. Pokud chcete tento proces zjednodušit, přihlaste se ke svému předplatnému Azure i k organizaci Azure DevOps pomocí stejného účtu Microsoft.

Důležité

Pokud se přihlásíte pomocí různých účtů, měli byste přidat uživatele do vaší organizace DevOps pod účtem Microsoft, který používáte k přihlášení do Azure. Další informace najdete v tématu Přidání uživatelů do organizace nebo projektu. Když přidáte uživatele, zvolte úroveň přístupu Basic.

Pak se odhlaste z Azure DevOps a přihlaste se pomocí nového uživatelského účtu. Použijte účet Microsoft, který používáte k přihlášení k předplatnému Azure.

Získání projektu Azure DevOps

Ujistěte se, ž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 této studijní cestě tvoří souvislý celek, když sledujete webový tým Tailspin na jejich cestě DevOps. Pro účely výuky má každý modul svůj vlastní projekt Azure DevOps.

Spustit šablonu

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

  2. Na webové stránce Azure DevOps Demo Generator vyberte Přihlásit se. Pokud se zobrazí výzva, přijměte podmínky použití. Zobrazí se stránka Vytvořit nový projekt.

  3. Na stránce Vytvořit nový projekt zadejte název projektu, například Space Game – web – Azure Functions, a pak pro Vybrat organizacivyberte organizaci spojenou s vaším předplatným Azure.

    snímek obrazovky s generátorem ukázek Azure DevOps, který ukazuje, jak vytvořit projekt.

  4. V další části vyberte Ano, chci vytvořit fork tohoto úložištěa pak vyberte Autorizovat.

    Pokud se zobrazí okno, povolte přístup k vašemu účtu GitHub.

    Důležité

    Povolení této možnosti forku je nezbytné, aby se šablona připojila k úložišti GitHub. Vyberte ho i v případě, že jste už vytvořili odnož webového projektu Space Game. Šablona používá existující fork.

  5. Vyberte Vytvořit projekt.

    Šablona trvá chvíli na spuštění.

  6. Po úspěšném zřízení projektu vyberte možnost Přejít na projekt a přejděte na svůj projekt v Azure DevOps.

Důležité

Stránka Vyčištění prostředí Azure DevOps v tomto modulu obsahuje důležité kroky, které musíte dokončit, i když tento modul nedokončíte. Vyčištění pomáhá zajistit, že vám nedojdou volné minuty sestavení.

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í přístup jen pro čtení pro neověřené uživatele, zatímco soukromé projekty vyžadují, aby uživatelé měli udělený přístup a ověřili se, aby měli 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řiřazení pracovní položky a jeho přesunutí do stavu Provádění

Tady přiřadíte pracovní položku sami sobě v Azure Boards a nastavíte stav pracovní položky na Provádění. V praxi byste vy a váš tým vytvořili pracovní úkoly na začátku každého sprintunebo pracovní iterace.

Toto cvičení vytvoří kontrolní seznam, ze kterého se má 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 nepřijímal příliš mnoho práce najednou.

  1. V Azure DevOps přejděte do kategorie Boards a v nabídce vyberte Boards.

    Azure DevOps zobrazující umístění nabídky Boards.

  2. Výběrem názvu otevřete API tabulky výsledků pro Refaktoring jako pracovní položku Azure Function. Přiřaďte tuto pracovní položku sobě a pak vyberte Uložit & Zavřít.

  3. Klikněte na šipku dolů v dolní části karty a vyberte Probíhánebo vyberte kartu a přetáhněte ji do sloupce Probíhá.

    Snímek obrazovky s kartou pracovní položky se zvýrazněním umístění šipky dolů

  4. Pracovní položka se přesune ze sloupce Úkol do sloupce Probíhá.

    snímek obrazovky Azure Boards se zvýrazněnou kartou pracovní položky 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 a Azure Functions

Tady vytvoříte aplikaci App Service a Azure Functions potřebnou k nasazení nové verze webu a rozhraní API.

V modulu Vytvoření verzovacího kanálu pomocí Azure Pipelines Learn jste službu App Service vytvořili prostřednictvím Azure Portal. I když je portál skvělým způsobem, jak prozkoumat, co je dostupné v Azure nebo provádět základní úlohy, může být zdlouhavé vyvolání komponent, jako je App Service.

V tomto modulu použijete Azure CLI k vyvolání instance služby App Service. K Azure CLI se dostanete z terminálu nebo přes Visual Studio Code. Tady budeme přistupovat k Azure CLI z Azure Cloud Shellu. Toto prostředí založené na prohlížeči je hostované v cloudu. V Cloud Shellu je Azure CLI nakonfigurované pro použití s předplatným Azure.

Důležité

K dokončení cvičení v tomto modulu potřebujete vlastní předplatné Azure.

Vyvolání Cloud Shellu prostřednictvím webu Azure Portal

  1. Přihlaste se k webu azure Portal.

  2. V globálních ovládacích prvcích v záhlaví stránky vyberte Cloud Shell.

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

    Otevře se terminál a připojí se k Azure Cloud Shellu.

  3. V případě potřeby v nabídce terminálu vyberte Bash.

    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 v rámci geografického umístění. Příklady oblastí jsou USA – východ, USA – západ a Severní Evropa. Každému prostředku Azure, včetně instance služby App Service, je přiřazena oblast.

Abychom usnadnili spouštění příkazů, začněme nastavením výchozí oblasti. Jakmile zadáte výchozí oblast, příkazy, které zadáte, použijí tuto oblast, dokud nezadáte jinou oblast.

  1. Spuštěním následujícího příkazu az account list-locations v Cloud Shellu zobrazte seznam oblastí dostupných z vašeho předplatného Azure:

    Azure CLI
    az account list-locations \
      --query "[].{Name: name, DisplayName: displayName}" \
      --output table
    
  2. Ve výstupu ve sloupci Name zvolte oblast, která je blízko vás. Můžete například zvolit eastasia nebo westus2.

  3. Spuštěním az configure nastavte výchozí oblast. Nahraďte <REGION> názvem oblasti, kterou jste zvolili.

    Azure CLI
    az configure --defaults location=<REGION>
    

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

    Azure CLI
    az configure --defaults location=westus2
    

Vytvořte proměnné v 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, které použijeme k vytvoření globálně jedinečných názvů pro určité služby v dalším kroku.

    Bash
    resourceSuffix=$RANDOM
    
  2. Vytvořte tři globálně jedinečné názvy pro účty služby App Service, Funkce Azure a úložiště. Tyto příkazy používají dvojité uvozovky, které dávají pokyn pro Bash k rozlišení proměnných pomocí vložené syntaxe.

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

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

Vytvořte požadované prostředky Azure

Naše řešení vyžaduje pro nasazení několik prostředků Azure, které teď vytvoříme.

Poznámka

Toto cvičení používá výchozí nastavení sítě, aby byla vaše lokalita přístupná z internetu. V praxi můžete nakonfigurovat virtuální síť Azure tak, aby váš web umístil do sítě, ke které máte přístup jenom vy a váš tým. Později můžete virtuální síť překonfigurovat tak, aby byl web dostupný vašim 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:

    Azure CLI
    az group create --name $rgName
    
  2. 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 názvu definovaného v předchozí úloze:

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

    Parametr --sku určuje plán B1. Tento plán běží na základní úrovni. Parametr --is-linux určuje pracovní procesy Linuxu (vlákna použitá v událostech a plánování úkolů).

    Důležité

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

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

    Azure CLI
    az webapp create \
      --name $webName \
      --resource-group $rgName \
      --plan $planName \
      --runtime "DOTNETCORE|6.0"
    
  4. Azure Functions vyžaduje účet úložiště pro nasazení. Spuštěním následujícího příkazu az storage account create ho vytvořte:

    Azure CLI
    az storage account create \
      --name $storageName \
      --resource-group $rgName \
      --sku Standard_LRS
    
  5. Spuštěním následujícího příkazu az functionapp create vytvořte instanci aplikace Azure Functions. Nahraďte <region> upřednostňovanou oblastí.

    Azure CLI
    az functionapp create \
      --name $leaderboardName \
      --resource-group $rgName \
      --storage-account $storageName \
      --functions-version 4 \
      --consumption-plan-location <region>
    
  6. 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:

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

    Poznamenejte si název hostitele vaší spuštěné služby. Měl by vypadat podobně jako v následujícím příkladu, ale identifikátor náhodného čísla se bude lišit. Po ověření práce budete později potřebovat název webového hostitele.

    Output
    HostName                                        State
    ----------------------------------------------  -------
    tailspin-space-game-web-4692.azurewebsites.net  Running
    
  7. Spuštěním následujícího příkazu az functionapp list zobrazte seznam názvu hostitele a stavu instance Azure Functions.

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

    Poznamenejte si název hostitele vaší spuštěné služby. Měl by vypadat podobně jako v následujícím příkladu, ale identifikátor náhodného čísla se bude lišit. Po ověření práce budete později potřebovat název hostitele tabulky výsledků.

    Output
    HostName                                                State
    ------------------------------------------------------  -------
    tailspin-space-game-leaderboard-4692.azurewebsites.net  Running
    
  8. Zkopírujte tyto dva názvy hostitelů do umístění, ke které budete mít snadný přístup později.

  9. Jako volitelný krok otevřete prohlížeč a zadejte název hostitele, abyste ověřili, že je spuštěný. Zobrazí se výchozí domovská stránka.

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í. Vyčištěním se 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 pipeliny v Azure Pipelines

V modulu Vytvoření publikačního kanálu pomocí Azure Pipelines jste přidali proměnnou do kanálu, která ukládá název vaší webové aplikace ve službě App Service. Tady to uděláte stejně. Kromě toho přidáte název aplikace tabulky výsledků pro instanci Azure Functions.

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.

Pojďme do projektu přidat skupinu proměnných.

  1. Váš projekt Space Game – web – Azure Functions by měl být otevřený v Azure DevOps.

  2. V nabídce vyberte Pipelinesa potom v části Pipelines vyberte Library. Zobrazí se podokno Knihovna.

    snímek obrazovky nabídky Azure DevOps, který zvýrazňuje možnost Knihovna v části Pipelines

  3. Na panelu příkazů nebo uprostřed podokna vyberte skupinu proměnných. Zobrazí se stránka Nová skupina proměnných.

  4. Jako název skupiny proměnných zadejte release.

  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, která byla vytvořena pro vaši webovou aplikaci, například tailspin-space-game-web-4692.

    Důležité

    Nastavte název instance služby App Service, nikoli úplný název hostitele. V tomto cvičení například tailspin-space-game-web-4692 je součástí názvu hostitele tailspin-space-game-web-4692.azurewebsites.net.

  7. Přidejte další proměnnou s názvem LeaderboardAppName s hodnotou vaší tabulky výsledků, například tailspin-space-game-leaderboard-4692.

  8. Přidejte konečnou proměnnou s názvem ResourceGroupName s hodnotou tailspin-space-game-rg.

  9. Na panelu příkazů v horní části stránky vyberte Uložit, abyste uložili skupinu proměnných Release do pipeliny.

    Proměnné ve vaší skupině proměnných by měly být podobné:

    snímek obrazovky Azure Pipelines se skupinou proměnných Skupina obsahuje tři proměnné.

Vytvořte prostředí pro špičku

V předchozích modulech jste vytvořili prostředí pro vývojové, testovacía přípravná prostředí. Tady to uděláte stejně. Tentokrát vytvoříte prostředí pojmenované spike.

  1. V nabídce Azure DevOps v části Pipelinesvyberte Environments.

    snímek obrazovky Azure Pipelines zobrazující umístění možnosti nabídky Prostředí.

  2. Vyberte Vytvořit prostředí. Zobrazí se podokno Nové prostředí.

  3. Jako Názevzadejte špičku.

  4. Zbývající pole ponechte na výchozích hodnotách.

  5. Vyberte Vytvořit.

Vytvořte připojení služby

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.

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, Space Game – web – pipeline projektu Azure Functions, v nabídce vyberte Nastavení projektu. Zobrazí se podokno Podrobnosti projektu .

  2. V nabídce v sekci Pipelinesvyberte Připojení služby.

  3. Na stránce Připojení služby vyberte Nové připojení službya potom v podokně Nové připojení služby vyberte Azure Resource Managera potom vyberte Další.

  4. V podokně Nové připojení služby vyberte Hlavní služba (automatická)a pak vyberte Další.

  5. V podokně Nové připojení služby Azure vyberte nebo zadejte následující nastavení:

    Pole Hodnota
    Úroveň oboru Předplatné
    Předplatné Výběr předplatného 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.

  6. Ujistěte se, že je vybrána možnost Udělit přístupová oprávnění ke všem potrubím.

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