Oefening: Uw Azure DevOps-omgeving instellen
In deze les zorgt u ervoor dat uw Azure DevOps-organisatie is ingesteld om de rest van deze module te voltooien. U maakt ook de Azure-app Service-omgevingen waarnaar u gaat implementeren.
Als u deze doelen wilt bereiken, gaat u het volgende doen:
- Voeg een gebruiker toe om ervoor te zorgen dat Azure DevOps verbinding kan maken met uw Azure-abonnement.
- Een Azure DevOps-project instellen voor deze module.
- Verplaats op Azure Boards het werkitem voor deze module naar de kolom Uitvoeren .
- Zorg ervoor dat uw project lokaal is ingesteld, zodat u wijzigingen naar de pijplijn kunt pushen.
- Maak de app Azure-app Service en Azure Functions met behulp van de Azure CLI in Azure Cloud Shell.
- Maak pijplijnvariabelen waarmee de namen van uw App Service- en Azure Functions-exemplaar worden gedefinieerd.
- Maak een serviceverbinding waarmee Azure Pipelines veilig toegang kan krijgen tot uw Azure-abonnement.
Een gebruiker toevoegen aan Azure DevOps
U hebt uw eigen Azure-abonnement nodig om deze module te voltooien. U kunt gratis aan de slag met Azure.
Hoewel u geen Azure-abonnement nodig hebt om met Azure DevOps te werken, gebruikt deze oefening Azure DevOps om te implementeren in Azure-resources in uw Azure-abonnement. Gebruik hetzelfde Microsoft-account om u aan te melden bij zowel uw Azure-abonnement als uw Azure DevOps-organisatie om het proces te vereenvoudigen.
Belangrijk
Als u zich met verschillende accounts aanmeldt, moet u een gebruiker toevoegen aan uw DevOps-organisatie onder het Microsoft-account dat u gebruikt om u aan te melden bij Azure. Zie Gebruikers toevoegen aan uw organisatie of project voor meer informatie. Wanneer u de gebruiker toevoegt, kiest u het toegangsniveau Basic .
Meld u vervolgens af bij Azure DevOps en meld u aan met het nieuwe gebruikersaccount. Gebruik het Microsoft-account dat u gebruikt om u aan te melden bij uw Azure-abonnement.
Het Azure DevOps-project ophalen
Zorg ervoor dat uw Azure DevOps-organisatie is ingesteld om de rest van deze module te voltooien. Hiervoor voert u een sjabloon uit waarmee een project wordt gemaakt in Azure DevOps.
De modules in dit leertraject vormen een voortgang terwijl u het Tailspin-webteam volgt via hun DevOps-traject. Voor leerdoeleinden heeft elke module een eigen Azure DevOps-project.
De sjabloon uitvoeren
Voer een sjabloon uit waarmee uw Azure DevOps-organisatie wordt ingesteld:
Selecteer Aanmelden op de azure DevOps Demo Generator-site. Accepteer de gebruiksvoorwaarden als u hierom wordt gevraagd. De pagina Nieuw project maken wordt weergegeven.
Voer op de pagina Nieuw project maken een projectnaam in, zoals Space Game - web - Azure Functions, en selecteer vervolgens voor Organisatie selecteren de organisatie die u voor uw Azure-abonnement gebruikt.
Selecteer in de volgende sectie Ja, ik wil deze opslagplaats splitsen en vervolgens Autoriseren selecteren.
Als er een venster verschijnt, keurt u toegang tot uw GitHub-account goed.
Belangrijk
De optie voor het inschakelen van deze fork is nodig voor de sjabloon om verbinding te maken met uw GitHub-opslagplaats. Selecteer deze zelfs als u het Space Game-websiteproject al hebt gesplitst. De sjabloon maakt gebruik van de bestaande fork.
Selecteer Project maken.
Het duurt even voordat de sjabloon wordt uitgevoerd.
Wanneer het project is ingericht, selecteert u Navigeren naar project om naar uw project te gaan in Azure DevOps.
Belangrijk
De pagina Uw Azure DevOps-omgeving opschonen in deze module bevat belangrijke stappen die u moet voltooien, zelfs als u deze module niet voltooit. Door op te schonen bent u ervan verzekerd dat u voldoende gratis buildminuten overhoudt.
De zichtbaarheid van uw project instellen
In eerste instantie is uw fork van de Space Game-opslagplaats op GitHub ingesteld op openbaar terwijl het project dat is gemaakt door de Azure DevOps-sjabloon is ingesteld op privé. Een openbare opslagplaats op GitHub is toegankelijk voor iedereen, terwijl een privéopslagplaats alleen toegankelijk is voor u en de personen met wie u deze wilt delen. Op dezelfde manier bieden openbare projecten in Azure DevOps alleen-lezentoegang tot niet-geverifieerde gebruikers, terwijl voor privéprojecten gebruikers toegang moeten worden verleend en geverifieerd voor toegang tot de services.
Op dit moment is het niet nodig om deze instellingen te wijzigen voor de doeleinden van deze module. Voor uw persoonlijke projecten moet u echter bepalen welke zichtbaarheid en toegang u aan anderen wilt verlenen. Als uw project bijvoorbeeld open source is, kunt u ervoor kiezen om zowel uw GitHub-opslagplaats als uw Azure DevOps-project openbaar te maken. Als uw project eigendom is, maakt u doorgaans zowel uw GitHub-opslagplaats als uw Azure DevOps-project privé.
Later kunt u de volgende resources nuttig vinden om te bepalen welke optie het beste is voor uw project:
- Privé- en openbare projecten gebruiken
- Quickstart: Uw privéproject openbaar maken
- Zichtbaarheid van opslagplaats instellen
Een werkitem toewijzen en naar de status Uitvoeren verplaatsen
Hier wijst u een werkitem toe aan uzelf op Azure Boards en stelt u de status van het werkitem in op Uitvoeren. In de praktijk maken u en uw team werkitems aan het begin van elke sprint of iteratie.
In deze oefening maakt u een controlelijst waaruit u kunt werken. Het geeft andere teamleden inzicht in waar u aan werkt en hoeveel werk er nog over is. Het werkitem helpt ook wip-limieten (work-in-progress) af te dwingen, zodat het team niet te veel werk tegelijk aanneemt.
Ga in Azure DevOps naar de categorie Borden en selecteer Borden in het menu.
Open de Leaderboard-API herstructureren als een Werkitem van Azure Function door de titel te selecteren. Wijs dit werkitem aan uzelf toe en selecteer Opslaan en sluiten.
Selecteer de pijl-omlaag onder aan de kaart en selecteer De kaart uitvoeren of selecteer de kaart en sleep deze naar de kolom Uitvoeren.
Het werkitem wordt verplaatst van de kolom Taken naar de kolom Uitvoeren .
Aan het einde van deze module verplaatst u de kaart naar de kolom Gereed nadat u de taak hebt voltooid.
De Azure-app Service- en Azure Functions-omgevingen maken
Hier maakt u de App Service- en Azure Functions-app die nodig is om de nieuwe versie van de site en API te implementeren.
In de module Een release-pijplijn maken met Azure Pipelines Learn hebt u App Service opgehaald via Azure Portal. Hoewel de portal een uitstekende manier is om te verkennen wat er beschikbaar is in Azure of om basistaken uit te voeren, kan het vervelend zijn om onderdelen zoals App Service op te halen.
In deze module gebruikt u de Azure CLI om een App Service-exemplaar weer te geven. U kunt toegang krijgen tot de Azure CLI vanuit een terminal of via Visual Studio code. Hier hebben we toegang tot de Azure CLI vanuit Azure Cloud Shell. Deze shell-ervaring op basis van een browser wordt gehost in de cloud. In Cloud Shell wordt de Azure CLI geconfigureerd voor gebruik met uw Azure-abonnement.
Belangrijk
U hebt een eigen Azure-abonnement nodig om de oefeningen in deze module te voltooien.
Cloud Shell openen via Azure Portal
Meld u aan bij het Azure-portaal.
Selecteer Cloud Shell in de algemene besturingselementen in de paginakoptekst.
Er wordt een terminal geopend en maakt verbinding met De Azure Cloud Shell.
Selecteer indien nodig Bash in het terminalmenu.
Notitie
Voor Cloud Shell is een Azure-opslagresource vereist om alle bestanden die u in Cloud Shell maakt, te behouden. Wanneer u Cloud Shell voor het eerst opent, wordt u gevraagd om een resourcegroep, opslagaccount en Azure Files-share te maken. Deze installatie wordt automatisch gebruikt voor alle toekomstige Cloud Shell-sessies.
Een Azure-regio selecteren
Een regio is een of meer Azure-datacenters binnen een geografische locatie. VS - oost, VS - west en Europa - noord zijn voorbeelden van regio's. Aan elke Azure-resource, inclusief een App Service-exemplaar, wordt een regio toegewezen.
Laten we beginnen met het instellen van een standaardregio om opdrachten gemakkelijker uit te voeren. Nadat u de standaardregio hebt opgegeven, gebruikt u die regio totdat u een andere regio opgeeft.
Voer vanuit Cloud Shell de volgende
az account list-locations
opdracht uit om de regio's weer te geven die beschikbaar zijn vanuit uw Azure-abonnement:az account list-locations \ --query "[].{Name: name, DisplayName: displayName}" \ --output table
Kies in de
Name
kolom in de uitvoer een regio die dicht bij u in de buurt is. Kieseastasia
westus2
of kies bijvoorbeeld .Voer uit
az configure
om uw standaardregio in te stellen. Vervang door<REGION>
de naam van de regio die u hebt gekozen.az configure --defaults location=<REGION>
In dit voorbeeld wordt ingesteld
westus2
als de standaardregio:az configure --defaults location=westus2
Bash-variabelen maken
Hier maakt u Bash-variabelen om het installatieproces handiger en minder foutgevoelig te maken. Het gebruik van variabelen voor gedeelde teksttekenreeksen helpt onbedoelde typfouten te voorkomen.
Genereer vanuit Cloud Shell een willekeurig getal, dat we in de volgende stap gebruiken om wereldwijd unieke namen voor bepaalde services te maken.
resourceSuffix=$RANDOM
Maak drie wereldwijd unieke namen voor uw App Service-, Azure-functie- en opslagaccounts. Deze opdrachten gebruiken dubbele aanhalingstekens, waarmee Bash de variabelen kunt oplossen met behulp van inlinesyntaxis.
webName="tailspin-space-game-web-${resourceSuffix}" leaderboardName="tailspin-space-game-leaderboard-${resourceSuffix}" storageName="tailspinspacegame${resourceSuffix}"
Maak nog twee Bash-variabelen om de namen van uw resourcegroep en serviceplan op te slaan.
rgName='tailspin-space-game-rg' planName='tailspin-space-game-asp'
De vereiste Azure-resources maken
Voor onze oplossing zijn verschillende Azure-resources vereist voor implementatie, die we nu gaan maken.
Notitie
In deze oefening worden de standaardnetwerkinstellingen gebruikt, zodat uw site toegankelijk is vanaf internet. In de praktijk kunt u een virtueel Azure-netwerk configureren om uw website in een netwerk te plaatsen waartoe alleen u en uw team toegang hebben. Later kunt u uw virtuele netwerk opnieuw configureren om de website beschikbaar te maken voor uw gebruikers.
Voer de volgende
az group create
opdracht uit om een resourcegroep te maken met behulp van de eerder gedefinieerde naam:az group create --name $rgName
Voer de volgende
az appservice plan create
opdracht uit om een App Service-plan te maken met behulp van de naam die in de vorige taak is gedefinieerd:az appservice plan create \ --name $planName \ --resource-group $rgName \ --sku B1 \ --is-linux
De
--sku
parameter geeft het B1-plan op. Dit plan wordt uitgevoerd op de Basic-laag. De--is-linux
parameter specificeert Linux-werkrollen (threads die worden gebruikt in gebeurtenissen en taakplanning).Belangrijk
Als de B1-SKU niet beschikbaar is in uw Azure-abonnement, kiest u een ander abonnement, zoals S1 (Standard).
Voer de volgende
az webapp create
opdracht uit om het App Service-exemplaar te maken:az webapp create \ --name $webName \ --resource-group $rgName \ --plan $planName \ --runtime "DOTNETCORE|6.0"
Azure Functions vereist een opslagaccount voor implementatie. Voer de volgende
az storage account create
opdracht uit om deze te maken:az storage account create \ --name $storageName \ --resource-group $rgName \ --sku Standard_LRS
Voer de volgende
az functionapp create
opdracht uit om het Azure Functions-app-exemplaar te maken. Vervang de<region>
door uw voorkeursregio.az functionapp create \ --name $leaderboardName \ --resource-group $rgName \ --storage-account $storageName \ --functions-version 4 \ --consumption-plan-location <region>
Voer de volgende
az webapp list
opdracht uit om de hostnaam en -status van het App Service-exemplaar weer te geven:az webapp list \ --resource-group $rgName \ --query "[].{hostName: defaultHostName, state: state}" \ --output table
Noteer de hostnaam voor de actieve service. Deze moet er ongeveer als volgt uitzien, maar de id van een willekeurig getal verschilt. U hebt de naam van de webhost later nodig wanneer u uw werk verifieert.
HostName State ---------------------------------------------- ------- tailspin-space-game-web-4692.azurewebsites.net Running
Voer de volgende
az functionapp list
opdracht uit om de hostnaam en de status van het Azure Functions-exemplaar weer te geven.az functionapp list \ --resource-group $rgName \ --query "[].{hostName: defaultHostName, state: state}" \ --output table
Noteer de hostnaam voor de actieve service. Deze moet er ongeveer als volgt uitzien, maar de willekeurige getal-id verschilt. U hebt de hostnaam van het leaderboard later nodig wanneer u uw werk verifieert.
HostName State ------------------------------------------------------ ------- tailspin-space-game-leaderboard-4692.azurewebsites.net Running
Kopieer deze twee hostnamen naar een locatie die u later eenvoudig kunt openen.
Als optionele stap opent u een browser en voert u een hostnaam in om te controleren of deze actief is. De standaardstartpagina wordt weergegeven.
Belangrijk
De pagina De Azure DevOps-omgeving opschonen in deze module bevat belangrijke opschoonstappen. Opschonen zorgt ervoor dat er geen kosten in rekening worden gebracht voor Azure-resources nadat u deze module hebt voltooid. Voer de opschoonstappen ook uit als u deze module niet voltooit.
Pijplijnvariabelen maken in Azure Pipelines
In de module Een release-pijplijn maken met Azure Pipelines hebt u een variabele toegevoegd aan uw pijplijn waarin de naam van uw web-app in App Service wordt opgeslagen. Hier doe je hetzelfde. Daarnaast voegt u de naam van uw leaderboard-app toe voor het Azure Functions-exemplaar.
U kunt deze namen in uw pijplijnconfiguratie coden, maar als u deze definieert als variabelen, is uw configuratie herbruikbaarer. En als de namen van uw exemplaren veranderen, kunt u de variabelen bijwerken en uw pijplijn activeren zonder de configuratie te wijzigen.
We gaan een variabelegroep toevoegen aan uw project.
Uw Space Game - web - Azure Functions-project moet zijn geopend in Azure DevOps.
Selecteer Pijplijnen in het menu en selecteer vervolgens onder Pijplijnen bibliotheek. Het deelvenster Bibliotheek wordt weergegeven.
Selecteer in de opdrachtbalk of in het midden van het deelvenster de groep Variabele. De pagina Nieuwe variabelegroep wordt weergegeven.
Voer Release in als naam van de variabelegroep.
Selecteer Onder Variabelen de optie Toevoegen.
Voer WebAppName in als naam van uw variabele. Voer voor de waarde de naam in van het App Service-exemplaar dat is gemaakt voor uw web-app, zoals tailspin-space-game-web-4692.
Belangrijk
Stel de naam van het App Service-exemplaar in, niet de volledige hostnaam. In deze oefening is tailspin-space-game-web-4692 bijvoorbeeld het exemplaargedeelte van de hostnaam tailspin-space-game-web-4692.azurewebsites.net.
Voeg nog een variabele toe met de naam LeaderboardAppName met de waarde van uw leaderboard-exemplaar, bijvoorbeeld tailspin-space-game-leaderboard-4692.
Voeg een laatste variabele met de naam ResourceGroupName toe met de waarde tailspin-space-game-rg.
Selecteer Opslaan in de opdrachtbalk boven aan de pagina de optie Opslaan om de groep Releasevariabele op te slaan in de pijplijn.
De variabelen in de variabelegroep moeten er ongeveer als volgt uitzien:
De piekomgeving maken
In eerdere modules hebt u omgevingen gemaakt voor ontwikkel-, test- en faseringsomgevingen . Hier doe je hetzelfde. Deze keer maakt u een omgeving met de naam piek.
Selecteer omgevingen in het menu Azure DevOps onder Pijplijnen.
Selecteer Omgeving maken. Het deelvenster Nieuwe omgeving wordt weergegeven.
Voer voor Naam een piek in.
Laat de resterende velden op de standaardwaarden staan.
Selecteer Maken.
Een serviceverbinding maken
Hier maakt u een serviceverbinding waarmee Azure Pipelines toegang heeft tot uw Azure-abonnement. Azure Pipelines maakt gebruik van deze serviceverbinding om de website te implementeren in App Service. U hebt in de vorige module een vergelijkbare serviceverbinding gemaakt.
Belangrijk
Zorg ervoor dat u bent aangemeld bij zowel Azure Portal als Azure DevOps onder hetzelfde Microsoft-account.
Selecteer projectinstellingen in Azure DevOps, Space Game - web - Azure Functions-pijplijnproject, onder het menu. Het deelvenster Projectdetails wordt weergegeven.
Selecteer serviceverbindingen in het menu onder Pijplijnen.
Selecteer op de pagina Serviceverbindingen de optie Nieuwe serviceverbinding en selecteer vervolgens in het deelvenster Nieuwe serviceverbinding Azure Resource Manager en selecteer vervolgens Volgende.
Selecteer in het deelvenster Nieuwe serviceverbinding de optie Service-principal (automatisch) en selecteer vervolgens Volgende.
Selecteer of voer in het deelvenster Nieuwe Azure-serviceverbinding de volgende instellingen in:
Veld Waarde Bereikniveau Abonnement Abonnement Selecteer uw Azure-abonnement Resourcegroep tailspin-space-game-rg Serviceverbindingsnaam Resource Manager - Tailspin - Space Game Tijdens het proces wordt u mogelijk gevraagd u aan te melden bij uw Microsoft-account.
Zorg ervoor dat Toegang verlenen aan alle pijplijnen is geselecteerd.
Selecteer Opslaan.
Azure DevOps voert een testverbinding uit om te controleren of deze verbinding kan maken met uw Azure-abonnement. Als Azure DevOps geen verbinding kan maken, kunt u zich een tweede keer aanmelden.