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:
Spusťte šablonu
Na webu Azure DevOps Demo Generator spusťte šablonu následujícím postupem:
Vyberte Přihlásit se a přijměte podmínky použití.
Na stránce Vytvořit nový projekt vyberte organizaci Azure DevOps. Zadejte název projektu, například Space Game – web – Docker.
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.
Vyberte Vytvořit projekt.
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ší:
- Použití privátních a veřejných projektů
- Rychlý start : Nastavení privátního projektu jako veřejného
- 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 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
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 table
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.
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=$RANDOM
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}"
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 create
vytvořte skupinu prostředků s použitím názvu definovaného dříve.az group create --name $rgName
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
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).
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
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
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:
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.
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 Nové připojení služby, poté zvolte Azure Resource Manager, poté vyberte Další.
V horní části stránky, principál služby (automatický). Pak vyberte Další.
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.
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 oprávnění k přístupu ke všem kanálům.
Až budete hotovi, vyberte Uložit.