Cvičení – nastavení prostředí Azure DevOps
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.
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.
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.
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.
Zadejte název vaší organizace Azure DevOps a stiskněte Enter.
Pokud se zobrazí výzva, zadejte azure DevOps PAT a stiskněte Enter.
Zadejte název projektu, například Space Game – web – Docker, a stiskněte Enter.
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 .
Na GitHubu přejděte do úložiště mslearn-tailspin-spacegame-web-docker .
V pravém horním rohu obrazovky vyberte Fork .
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ší:
- Použití privátních a veřejných projektů
- Změna viditelnosti projektu na veřejné nebo soukromé
- Nastavení viditelnosti úložiště
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:
V Azure DevOps přejděte na Boards. Potom v nabídce vyberte Boards.
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ě.
Přesuňte pracovní položku ze sloupce K vyřízení do sloupce V řešení.
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
Přejděte na portál Azure a přihlaste se.
V řádku nabídek vyberte Cloud Shell a pak vyberte prostředí Bashu.
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.
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 tableVe 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.
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.
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=$RANDOMVytvoř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}"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.
Spuštěním následujícího příkazu
az group createvytvořte skupinu prostředků s použitím názvu definovaného dříve.az group create --name $rgNameSpuštěním následujícího příkazu
az acr createvytvoř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 trueSpuštěním následujícího příkazu
az appservice plan createvytvoř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-linuxArgument
--skuurčuje plán B1. Tento plán běží na základní úrovni. Argument--is-linuxurč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).
Spuštěním následujícího příkazu
az webapp createvytvořte instanci služby App Service.az webapp create \ --name $webName \ --resource-group $rgName \ --plan $planName \ --deployment-container-image-name $registryName.azurecr.io/web:latestSpuštěním následujícího příkazu
az webapp listzobrazte seznam názvu hostitele a stavu instance služby App Service.az webapp list \ --resource-group $rgName \ --query "[].{hostName: defaultHostName, state: state}" \ --output tablePoznamenejte 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 RunningSpuštěním následujícího příkazu
az acr listzobrazte 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 tablePoznamenejte 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:
V Azure DevOps přejděte na svůj projekt Space Game – web – Docker.
V části Pipelinesvyberte knihovna.
Vyberte + Skupina proměnných.
V části Vlastnostizadejte Release pro název skupiny proměnných.
V části Proměnnévyberte + Přidat.
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.
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.
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.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:
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.
V Azure DevOps přejděte na svůj projekt Space Game – web – Docker.
V dolním rohu stránky zvolte Nastavení projektu.
V části Pipelinesvyberte Připojení služby (Service connections).
Vyberte Vytvořit připojení služby a pak zvolte Azure Resource Manager a pak vyberte Další.
V horní části stránky Registrace aplikace (automaticky)
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.
Ujistěte se, že je vybraná možnost Udělit přístup všem kanálům.
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é.
Vyberte Nové připojení služby, pak zvolte registru Dockeru a pak vyberte Další.
V horní části stránky vyberte Azure Container Registry.
Jako typ ověřování vyberte principál služby.
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 Ujistěte se, že je vybraná možnost Udělit přístup všem kanálům.
Až budete hotovi, vyberte Uložit.