Övning – Konfigurera din Azure DevOps-miljö
I det här avsnittet ser du till att din Azure DevOps-organisation har konfigurerats för att slutföra resten av den här modulen. Du skapar även de Azure App Service-miljöer som du ska distribuera till.
Om du vill konfigurera systemet gör du följande:
- Lägg till en användare för att säkerställa att Azure DevOps kan ansluta till din Azure-prenumeration.
- Konfigurera ett Azure DevOps-projekt för den här modulen.
- Flytta arbetsobjektet för den här modulen till kolumnen Doing ( Gör ) i Azure Boards.
- Skapa Azure App Service-miljöer med hjälp av Azure CLI i Azure Cloud Shell.
- Skapa pipelinevariabler som definierar namnen på dina App Service-miljöer.
- Skapa en tjänstanslutning som gör att Azure Pipelines kan komma åt din Azure-prenumeration på ett säkert sätt.
Lägga till en användare i Azure DevOps
För att slutföra den här modulen behöver du en egen Azure-prenumeration. Du kan komma igång med Azure kostnadsfritt.
Även om du inte behöver en Azure-prenumeration för att fungera med Azure DevOps använder du i den här modulen Azure DevOps för att distribuera till resurser som finns i din Azure-prenumeration. För att förenkla processen bör du använda samma Microsoft-konto för att logga in på både din Azure-prenumeration och din Azure DevOps-organisation.
Om du använder olika Microsoft-konton för att logga in på Azure och Azure DevOps lägger du till en användare i din DevOps-organisation under det Microsoft-konto som du använder för att logga in på Azure. Mer information finns i Lägga till användare i din organisation eller ditt projekt. När du lägger till användaren väljer du åtkomstnivån Grundläggande .
Logga sedan ut från Azure DevOps och logga in igen under det Microsoft-konto som du använder för att logga in på din Azure-prenumeration.
Hämta Azure DevOps-projektet
Här ser du till att din Azure DevOps-organisation har konfigurerats för att slutföra resten av den här modulen. Du börjar med att köra en mall som skapar projektet i Azure DevOps.
Modulerna i den här utbildningsvägen är en del av en utveckling som följer Tailspin-webbteamet genom deras DevOps-resa. I utbildningssyfte har varje modul ett associerat Azure DevOps-projekt.
Kör mallen
Kör en mall som konfigurerar din Azure DevOps-organisation.
Viktig
Demogeneratorn för Azure DevOps stöds inte längre, men du kan fortfarande använda den för att skapa demomiljöer. Det finns för närvarande ingen ersättning, och dess funktioner eller tillgänglighet kan ändras på vägen.
Hämta och kör ADOGenerator-projektet i Visual Studio eller valfri IDE.
När du uppmanas att ange mallnumret i listan med mallar anger du 33 för Kör icke-funktionella tester i Azure Pipelines och trycker sedan på Retur.
Välj din autentiseringsmetod. Du kan konfigurera och använda en personlig åtkomsttoken (PAT) eller använda enhetsinloggning.
Anteckning
Om du konfigurerar en PAT måste du auktorisera de nödvändiga omfången. För den här modulen kan du använda Fullständig åtkomst, men i en verklig situation bör du se till att du endast beviljar de nödvändiga omfången.
Ange ditt Azure DevOps-organisationsnamn och tryck sedan på Retur.
Om du uppmanas till det anger du din Azure DevOps PAT och trycker sedan på Retur.
Ange ett projektnamn som Space Game – web – Icke-funktionella tester och tryck sedan på Retur.
När projektet har skapats går du till din Azure DevOps-organisation i webbläsaren (på
https://dev.azure.com/<your-organization-name>/) och väljer projektet.
Förgrena lagringsplatsen
Om du inte redan har gjort det, skapa en fork av lagringsplatsen mslearn-tailspin-spacegame-web-deploy.
På GitHub går du till lagringsplatsen mslearn-tailspin-spacegame-web-deploy .
Välj Fork längst upp till höger på skärmen.
Välj ditt GitHub-konto som ägare och välj sedan Skapa förgrening.
Viktig
Sidan Rensa din Azure DevOps-miljö i den här modulen innehåller viktiga rensningssteg. Genom att rensa upp ser du till att du inte får slut på kostnadsfria byggminuter. Se till att utföra rensningsstegen även om du inte slutför den här modulen.
Ange projektets synlighet
Ursprungligen är din fork av Space Game-lagringsplatsen på GitHub inställd som offentlig, medan projektet som skapats av Azure DevOps-mallen är inställt som privat. En offentlig lagringsplats på GitHub kan nås av vem som helst, medan en privat lagringsplats endast är tillgänglig för dig och de personer som du väljer att dela den med. På samma sätt ger offentliga projekt i Azure DevOps skrivskyddad åtkomst till icke-autentiserade användare, medan privata projekt kräver att användarna beviljas åtkomst och autentiseras för att få åtkomst till tjänsterna.
För närvarande är det inte nödvändigt att ändra någon av dessa inställningar i den här modulen. För dina personliga projekt måste du dock fastställa den synlighet och åtkomst som du vill bevilja andra. Om projektet till exempel är öppen källkod kan du välja att göra både din GitHub-lagringsplats och ditt Azure DevOps-projekt offentliga. Om projektet är proprietärt skulle du vanligtvis göra både din GitHub-lagringsplats och ditt Azure DevOps-projekt privata.
Senare kan följande resurser vara användbara för att avgöra vilket alternativ som är bäst för projektet:
- Använda privata och offentliga projekt
- Ändra projektsynlighet till offentlig eller privat
- Ange synlighet för lagringsplats
Konfigurera projektet lokalt
Här läser du in Space Game-projektet i Visual Studio Code, konfigurerar Git, klonar lagringsplatsen lokalt och konfigurerar den överordnade fjärrplatsen så att du kan ladda ned startkoden.
Anteckning
Om du redan har konfigurerat projektet mslearn-tailspin-spacegame-web-deploy lokalt kan du gå vidare till nästa avsnitt.
Öppna den integrerade terminalen
Visual Studio Code levereras med en integrerad terminal. Här redigerar du både filer och arbetar från kommandoraden.
Starta Visual Studio Code.
På menyn Visa väljer du Terminal.
I listrutan väljer du Git Bash. Om du är bekant med ett annat Unix-gränssnitt som du föredrar att använda väljer du gränssnittet i stället.
I terminalfönstret kan du välja valfritt skal som är installerat på systemet. Du kan till exempel välja Git Bash, PowerShell eller ett annat gränssnitt.
Här använder du Git Bash, en del av Git för Windows, vilket gör det enkelt att köra Git-kommandon.
Anteckning
Om du inte ser Git Bash som ett alternativ i Windows kontrollerar du att du har installerat Git och startar sedan om Visual Studio Code.
Kör kommandot
cdför att gå till katalogen där du vill arbeta. Välj din hemkatalog (~) eller en annan katalog om du vill.cd ~
Konfigurera Git
Om du är nybörjare på Git och GitHub kör du först några kommandon för att associera din identitet med Git och autentisera med GitHub. Mer information finns i Konfigurera Git.
Du måste minst utföra följande steg. Kör kommandona från den integrerade terminalen.
Anteckning
Om du redan använder tvåfaktorautentisering med GitHub skapar du en personlig åtkomsttoken. När du uppmanas att göra det använder du din token i stället för ditt lösenord.
Behandla din åtkomsttoken som ett lösenord. Förvara den på en säker plats.
Konfigurera projektet i Visual Studio Code
I utbildningsvägen Skapa program med Azure DevOps förgrenade du och klonade sedan en Git-lagringsplats. Lagringsplatsen innehåller källkoden för Space Game-webbplatsen . Din förgrening var ansluten till dina projekt i Azure DevOps så att bygget körs när du skickar ändringar till GitHub.
Viktig
I den här utbildningsvägen växlar vi till en annan Git-lagringsplats, mslearn-tailspin-spacegame-web-deploy. När du körde mallen för att konfigurera ditt Azure DevOps-projekt forkade processen automatiskt repositoryt åt dig.
I den här delen klonar du din förgrening lokalt så att du kan ändra och bygga ut din pipelinekonfiguration.
Klona din fork lokalt
Nu har du en kopia av Space Game-webbprojektet i ditt GitHub-konto. Nu ska du ladda ned eller klona en kopia till datorn så att du kan arbeta med den.
En klon, precis som en fork, är en kopia av ett repo. När du klonar en lagringsplats kan du göra ändringar, kontrollera att de fungerar som förväntat och sedan ladda upp ändringarna till GitHub. Du kan också synkronisera din lokala kopia med ändringar som andra autentiserade användare har gjort i GitHub-kopian av lagringsplatsen.
Så här klonar du space game-webbprojektet till datorn:
Gå till din fork av webprojektet Space Game (mslearn-tailspin-spacegame-web-deploy) på GitHub.
Välj Kod. På fliken HTTPS väljer du sedan knappen bredvid den URL som visas för att kopiera URL:en till Urklipp.
I Visual Studio Code går du till terminalfönstret.
Gå till den katalog där du vill arbeta i terminalen. Välj din hemkatalog (
~) eller en annan katalog om du vill.cd ~Kör kommandot
git clone. Ersätt url:en som visas här med innehållet i Urklipp:git clone https://github.com/your-name/mslearn-tailspin-spacegame-web-deploy.gitFlytta till katalogen
mslearn-tailspin-spacegame-web-deploy. Det här är rotkatalogen för lagringsplatsen.cd mslearn-tailspin-spacegame-web-deploy
Konfigurera den överordnade fjärranslutningen
En fjärranslutning är en Git-lagringsplats där teammedlemmar samarbetar (till exempel en lagringsplats på GitHub). Här visar du en lista över dina fjärrplatser och lägger till en fjärranslutning som pekar på Microsofts kopia av lagringsplatsen så att du kan hämta den senaste exempelkoden.
Kör det här
git remote-kommandot för att visa en lista över dina fjärranslutningar:git remote -vDu ser att du både har hämta (ladda ned) och push-överför åtkomst till lagringsplatsen:
origin https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (fetch) origin https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (push)Origin anger lagringsplatsen på GitHub. När du förgrenar kod från en annan lagringsplats namnges ofta den ursprungliga fjärrplatsen (den som du förgrenade från) uppströms.
Kör det här
git remote addkommandot för att skapa en fjärranslutning med namnet upstream som pekar på Microsoft-lagringsplatsen:git remote add upstream https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web-deploy.gitKör
git remoteigen för att se ändringarna:git remote -vDu ser att du fortfarande har både hämtningsåtkomst (nedladdning) och push-åtkomst (uppladdning) till lagringsplatsen. Nu har du också hämtat åtkomst till Microsoft-lagringsplatsen:
origin https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (fetch) origin https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (push) upstream https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web-deploy.git (fetch)
Öppna projektet i utforskaren
I Visual Studio Code pekar terminalfönstret på rotkatalogen för webbprojektet Space Game . Om du vill visa dess struktur och arbeta med filer öppnar du projektet från utforskaren.
Det enklaste sättet att öppna projektet är att öppna Visual Studio Code igen i den aktuella katalogen. Det gör du genom att köra följande kommando från den integrerade terminalen:
code -r .Du ser katalogen och filträdet i utforskaren.
Öppna den integrerade terminalen igen. Terminalen placerar dig i roten för ditt webbprojekt.
Om code-kommandot misslyckas måste du lägga till Visual Studio Code till systemets PATH. Så här gör du:
- I Visual Studio Code väljer du F1 eller väljer Visa>kommandopalett för att komma åt kommandopaletten.
- I kommandopaletten anger du Shell-kommandot: Installera kommandot "code" i PATH.
- Upprepa föregående procedur för att öppna projektet i utforskaren.
Du har nu konfigurerats för att arbeta med Space Game-källkoden och din Azure Pipelines-konfiguration från din lokala utvecklingsmiljö.
Skapa Azure App Service-miljöer
Här skapar du de miljöer som definierar pipelinefaserna. Du skapar en App Service-instans som motsvarar varje steg: Dev, Test och Staging.
I tidigare moduler använde du Azure CLI för att skapa dina App Service-instanser. Här gör du samma sak.
Viktig
Kom ihåg att du behöver en egen Azure-prenumeration för att slutföra övningarna i den här modulen.
Ta upp Cloud Shell via Azure-portalen
- Gå till Azure-portalen och logga in.
- På menyraden väljer du Cloud Shell. När du uppmanas att göra det väljer du Bash-upplevelsen.
Välj en Azure-region
Här anger du den standardregion eller geografiska plats där dina Azure-resurser ska skapas.
I Cloud Shell kör du följande
az account list-locationskommando för att visa en lista över de regioner som är tillgängliga från din Azure-prenumeration.az account list-locations \ --query "[].{Name: name, DisplayName: displayName}" \ --output tableI kolumnen Namn i utdata väljer du en region som är nära dig. Välj till exempel eastasia eller westus2.
Kör
az configureför att ange din standardregion. Ersätt <REGION> med namnet på den region som du valde.az configure --defaults location=<REGION>Här är ett exempel som anger westus2 som standardregion:
az configure --defaults location=westus2
Skapa App Service-instanserna
Här skapar du App Service-instanserna för de tre faser som du distribuerar till: Dev, Test och Staging.
Anteckning
I utbildningssyfte använder du standardinställningarna för nätverket. De här inställningarna gör din webbplats tillgänglig från Internet. I praktiken kan du konfigurera ett virtuellt Azure-nätverk som placerar din webbplats i ett nätverk som inte kan dirigeras från Internet och som endast är tillgängligt för ditt team. När du är klar senare kan du konfigurera om nätverket så att webbplatsen blir tillgänglig för användarna.
Generera ett slumptal i Cloud Shell som gör webbappens domännamn unikt.
webappsuffix=$RANDOMKör följande
az group createkommando för att skapa en resursgrupp med namnet tailspin-space-game-rg.az group create --name tailspin-space-game-rgKör följande
az appservice plan createkommando för att skapa en App Service-plan med namnet tailspin-space-game-asp.az appservice plan create \ --name tailspin-space-game-asp \ --resource-group tailspin-space-game-rg \ --sku B1 \ --is-linuxArgumentet
--skuanger B1-planen , som körs på basic-nivån . Argumentet--is-linuxanger att Linux-arbetare ska användas.Viktig
Om B1-SKU :n inte är tillgänglig som en del av din Azure-prenumeration väljer du en annan plan, till exempel S1 (Standard).
Kör följande
az webapp createkommandon för att skapa de tre App Service-instanserna, en för var och en av utvecklings -,test- och mellanlagringsmiljöerna .az webapp create \ --name tailspin-space-game-web-dev-$webappsuffix \ --resource-group tailspin-space-game-rg \ --plan tailspin-space-game-asp \ --runtime "DOTNET|6.0" az webapp create \ --name tailspin-space-game-web-test-$webappsuffix \ --resource-group tailspin-space-game-rg \ --plan tailspin-space-game-asp \ --runtime "DOTNET|6.0" az webapp create \ --name tailspin-space-game-web-staging-$webappsuffix \ --resource-group tailspin-space-game-rg \ --plan tailspin-space-game-asp \ --runtime "DOTNET|6.0"I utbildningssyfte tillämpar du här samma App Service-plan, B1 Basic, på varje App Service-instans. I praktiken tilldelar du en plan som matchar din förväntade arbetsbelastning.
Kör följande
az webapp listkommando för att visa värdnamnet och tillståndet för varje App Service-instans.az webapp list \ --resource-group tailspin-space-game-rg \ --query "[].{hostName: defaultHostName, state: state}" \ --output tableObservera värdnamnet för varje tjänst som körs. Du behöver dessa värdnamn senare när du verifierar ditt arbete. Här är ett exempel:
HostName State ------------------------------------------------------- ------- tailspin-space-game-web-dev-21017.azurewebsites.net Running tailspin-space-game-web-test-21017.azurewebsites.net Running tailspin-space-game-web-staging-21017.azurewebsites.net RunningSom ett valfritt steg går du till ett eller flera av namnen i listan för att kontrollera att de körs och att standardstartsidan visas.
Du ser den här sidan:
Viktig
Sidan Rensa din Azure DevOps-miljö i den här modulen innehåller viktiga rensningssteg. Genom att rensa upp ser du till att du inte debiteras för Azure-resurser när du har slutfört den här modulen. Följ rensningsstegen även om du inte slutför den här modulen.
Skapa pipelinevariabler i Azure Pipelines
I Kör funktionella tester i Azure Pipelines lade du till en variabel för var och en av App Service-instanserna. Instanserna motsvarar Dev-, Test- och Staging-stegen i din pipeline. Här följer du samma mönster.
Varje steg i pipelinekonfigurationen använder variablerna för att identifiera vilken App Service-instans som ska distribueras till.
Så här lägger du till variablerna:
Gå till ditt projekt Space Game – web – Nonfunctional tests i Azure DevOps.
Under Pipelines väljer du Bibliotek.
Välj + Variabelgrupp.
För variabelgruppens namn går du till Egenskaper och anger Släpp.
Under Variabler väljer du + Lägg till.
Som namn på variabeln anger du WebAppNameDev. För dess värde anger du namnet på App Service-instansen som motsvarar din Dev-miljö , till exempel tailspin-space-game-web-dev-1234.
Upprepa steg 5 och 6 två gånger till för att skapa variabler för dina test - och mellanlagringsmiljöer , som du ser i den här tabellen:
Variabelnamn Exempelvärde WebAppNameTest tailspin-space-game-web-test-1234 WebAppNameStaging tailspin-space-game-web-staging-1234 Se till att ersätta varje exempelvärde med App Service-instansen som motsvarar din miljö.
Viktig
Kontrollera att du anger namnet på App Service-instansen, inte dess värdnamn. I det här exemplet anger du tailspin-space-game-web-dev-1234 och inte tailspin-space-game-web-dev-1234.azurewebsites.net.
Om du vill spara variabeln i pipelinen väljer du Spara längst upp på sidan.
Din variabelgrupp liknar den här:
Skapa utvecklings-, test- och mellanlagringsmiljöerna
I Kör funktionella tester i Azure Pipelines skapade du miljöer för utvecklings-, test- och mellanlagringsmiljöerna . Här upprepar du processen.
Så här skapar du utvecklings-, test- och mellanlagringsmiljöerna :
Välj Miljöer i Azure Pipelines.
Så här skapar du utvecklingsmiljön :
- Välj Skapa miljö.
- Under Namn anger du dev.
- Lämna de återstående fälten som standardvärden.
- Välj Skapa.
Så här skapar du testmiljön :
- Gå tillbaka till sidan Miljöer .
- Välj Ny miljö.
- Under Namn anger du test.
- Välj Skapa.
Så här skapar du mellanlagringsmiljön :
- Gå tillbaka till sidan Miljöer .
- Välj Ny miljö.
- Under Namn anger du staging.
- Välj Skapa.
Skapa en tjänstanslutning
Här skapar du en tjänstanslutning som gör att Azure Pipelines kan komma åt din Azure-prenumeration. Azure Pipelines använder den här tjänstanslutningen för att distribuera webbplatsen till App Service. Du skapade en liknande tjänstanslutning i föregående modul.
Viktig
Kontrollera att du är inloggad på både Azure-portalen och Azure DevOps under samma Microsoft-konto.
Gå till ditt projekt Space Game – web – Nonfunctional tests i Azure DevOps.
Välj Projektinställningar i det nedre hörnet på sidan.
Under Pipelines väljer du Tjänstanslutningar.
Välj Ny tjänstanslutning och sedan Azure Resource Manager och välj sedan Nästa.
Nära toppen av sidan, Tjänsthuvudman (automatisk). Välj sedan Nästa.
Fyll i följande fält:
Fält Värde Omfångsnivå Abonnemang Abonnemang Din Azure-prenumeration Resursgrupp tailspin-rymdspel-rg Namn på tjänstanslutning Resource Manager – Tailspin – Space Game Under processen kan du uppmanas att logga in på ditt Microsoft-konto.
Se till att Bevilja åtkomstbehörighet till alla pipelines är markerad.
Välj Spara.
Azure DevOps utför en testanslutning för att kontrollera att den kan ansluta till din Azure-prenumeration. Om Azure DevOps inte kan ansluta har du chansen att logga in en andra gång.