Cvičení – nastavení prostředí Azure DevOps
V této lekci se ujistěte, že je vaše organizace Azure DevOps nastavená tak, aby dokončila zbytek tohoto modulu. Také vytvoříte prostředí Azure App Service, do kterých nasazujete.
K dosažení těchto cílů provedete tyto úkoly:
- 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ů, přidejte uživatele do vaší organizace DevOps pod účet Microsoft, který používáte pro přihlášení k Azure. Další informace najdete v tématu Přidání uživatelů do organizace nebo projektu. Když přidáte uživatele, zvolte úroveň základního přístupu.
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
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 38 pro automatizaci nasazení funkcí Azure 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 udělit 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 – Azure Functions, 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-azure-functions .
Na GitHubu přejděte do úložiště mslearn-tailspin-spacegame-web-azure-functions .
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ý
Stránka Vyčistit 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ší:
- Použití soukromých a veřejných projektů
- Změna viditelnosti projektu na veřejné nebo soukromé
- Nastavení viditelnosti úložiště
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ě ve službě Azure Boards a nastavíte stav pracovní položky na Provádění. V praxi byste vy a váš tým vytvořili pracovní položky na začátku každého sprintu nebo iterace práce.
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.
V Azure DevOps přejděte do kategorie Boards a pak v nabídce vyberte Boards .
Výběrem názvu otevřete pracovní položku Refactor leaderboard API jako funkci Azure. Tuto pracovní položku přiřaďte sami sobě a pak vyberte Uložit a zavřít.
Vyberte šipku dolů v dolní části karty a vyberte Probíhá nebo vyberte kartu a přetáhněte ji do sloupce Probíhá.
Pracovní položka se přesune ze sloupce Úkol do sloupce Probíhá .
Na konci tohoto modulu přesuňte kartu do sloupce Hotovo po dokončení úkolu.
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 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. Používá se 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
Přihlaste se k webu Azure Portal.
V globálních ovládacích prvcích v záhlaví stránky vyberte Cloud Shell.
Otevře se terminál a připojí se k Azure Cloud Shellu.
V případě potřeby vyberte Bash z nabídky terminálu.
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.
Pokud chcete usnadnit spouštění příkazů, začněte 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.
Spuštěním následujícího příkazu
az account list-locationsv Cloud Shellu zobrazte seznam oblastí dostupných z vašeho předplatného Azure:az account list-locations \ --query "[].{Name: name, DisplayName: displayName}" \ --output tableVe výstupu ve sloupci
Namezvolte oblast, která je blízko vás. Můžete například zvoliteastasianebowestus2.Spuštěním
az configurenastavte výchozí oblast. Nahraďte<REGION>názvem oblasti, kterou jste zvolili.az configure --defaults location=<REGION>Tento příklad nastaví
westus2jako výchozí oblast:az configure --defaults location=westus2
Vytvořte proměnné v Bash
Tady 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, které použijete k vytvoření globálně jedinečných názvů pro určité služby v dalším kroku.
resourceSuffix=$RANDOMVytvoř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.
webName="tailspin-space-game-web-${resourceSuffix}" leaderboardName="tailspin-space-game-leaderboard-${resourceSuffix}" storageName="tailspinspacegame${resourceSuffix}"Vytvořte dvě další proměnné Bash pro uložení názvů vaší skupiny prostředků a plánu služby.
rgName='tailspin-space-game-rg' planName='tailspin-space-game-asp'
Vytvořte požadované prostředky Azure
Vaše řešení vyžaduje pro nasazení několik prostředků Azure, které teď vytvoříte.
Poznámka
Toto cvičení používá výchozí nastavení sítě, takže je váš web 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.
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 appservice plan createvytvořte plán služby App Service s použitím názvu definovaného v předchozí úloze:az appservice plan create \ --name $planName \ --resource-group $rgName \ --sku B1 \ --is-linuxParametr
--skuurčuje plán B1. Tento plán běží na základní úrovni. Parametr--is-linuxurčuje pracovní procesy Linuxu (vlákna použitá v událostech a plánování úkolů).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 \ --runtime "DOTNETCORE|8.0"Azure Functions vyžaduje účet úložiště pro nasazení. Spuštěním následujícího příkazu
az storage account createho vytvořte:az storage account create \ --name $storageName \ --resource-group $rgName \ --sku Standard_LRSSpuštěním následujícího příkazu
az functionapp createvytvořte instanci aplikace Azure Functions. Nahraďte<region>upřednostňovanou oblastí.az functionapp create \ --name $leaderboardName \ --resource-group $rgName \ --storage-account $storageName \ --functions-version 4 \ --consumption-plan-location <region>Spuš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 vaší spuštěné služby. Měl by vypadat podobně jako následující, ale s jiným náhodným číslem. Název webového hostitele budete potřebovat později, až ověříte svou práci.
HostName State ---------------------------------------------- ------- tailspin-space-game-web-4692.azurewebsites.net RunningSpuštěním následujícího příkazu
az functionapp listzobrazte seznam názvu hostitele a stavu instance Azure Functions.az functionapp list \ --resource-group $rgName \ --query "[].{hostName: defaultHostName, state: state}" \ --output tablePoznamenejte si název hostitele vaší spuštěné služby. Měl by vypadat podobně jako v následujícím příkladu, ale s jiným náhodným identifikátorem čísla. Při ověření práce budete později potřebovat název hostitele tabulky výsledků.
HostName State ------------------------------------------------------ ------- tailspin-space-game-leaderboard-4692.azurewebsites.net RunningZkopírujte tyto dva názvy hostitelů do umístění, ke které budete mít snadný přístup později.
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čistit prostředí Azure DevOps v tomto modulu obsahuje důležité kroky č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
Tady do kanálu přidáte proměnnou, která ukládá název vaší webové aplikace ve službě App Service. Také 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.
Přidejte do projektu skupinu proměnných.
Váš projekt Space Game - web - Azure Functions by měl být otevřený v Azure DevOps.
V nabídce vyberte Kanály a potom v části Kanály vyberte Knihovna. Zobrazí se podokno Knihovna.
Na panelu příkazů nebo uprostřed podokna vyberte skupinu proměnných. Zobrazí se stránka Nová skupina proměnných .
Jako název skupiny proměnných zadejte Release.
V části Proměnné vyberte Přidat.
Jako název proměnné zadejte Název webové aplikace. 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í je například tailspin-space-game-web-4692 instanční částí názvu hostitele tailspin-space-game-web-4692.azurewebsites.net.
Přidejte další proměnnou s názvem LeaderboardAppName s hodnotou vaší instance tabulky výsledků, například tailspin-space-game-leaderboard-4692.
Přidejte konečnou proměnnou s názvem ResourceGroupName s hodnotou tailspin-space-game-rg.
Na panelu příkazů v horní části stránky vyberte Uložit a uložte skupinu proměnných Release do potoku.
Proměnné ve vaší skupině proměnných by měly být podobné:
Vytvořte prostředí pro špičku
V předchozích modulech jste vytvořili prostředí pro vývoj, testování a přechod. Tady udělejte to samé. Tentokrát vytvořte prostředí s názvem spike.
V nabídce Azure DevOps v části Kanály vyberte Prostředí.
Vyberte Vytvořit prostředí. Zobrazí se podokno Nové prostředí .
Do pole Název zadejte špičku.
Zbývající pole ponechte na výchozích hodnotách.
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.
V Azure DevOps , Space Game – web – projekt kanálu Azure Functions , pod nabídkou vyberte Nastavení projektu. Zobrazí se podokno Podrobnosti projektu .
V nabídce v části Kanály vyberte Připojení služeb.
Na stránce Připojení služby vyberte Nové připojení služby a potom v podokně Připojení k nové službě vyberte Azure Resource Manager a pak vyberte Další.
V podokně Nové připojení služby vyberte Hlavní uživatel služby (automatický) a pak vyberte Další.
V podokně Připojení k nové službě 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.
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é.