Oefening: uw Azure DevOps-omgeving instellen
In deze sectie 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 die u gaat implementeren.
Als u deze taken wilt uitvoeren, gaat u als volgt te werk:
- 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 het werkitem voor deze module op Azure Boards naar de kolom Doing.
- Maak de Azure App Service-omgevingen met behulp van de Azure CLI in Azure Cloud Shell.
- Maak pijplijnvariabelen waarmee de namen van uw App Service-omgevingen worden gedefinieerd.
- Maak een serviceverbinding waarmee Azure Pipelines veilig toegang heeft tot uw Azure-abonnement.
Een gebruiker toevoegen aan Azure DevOps
Als u deze module wilt voltooien, hebt u uw eigen Azure-abonnement nodig. U kunt gratis aan de slag met Azure.
Hoewel u geen Azure-abonnement nodig hebt om met Azure DevOps te werken, gebruikt u hier Azure DevOps om te implementeren naar resources die in uw Azure-abonnement aanwezig zijn. Om het proces te vereenvoudigen, meldt u zich aan bij zowel uw Azure-abonnement als uw Azure DevOps-organisatie onder hetzelfde Microsoft-account.
Als u verschillende Microsoft-accounts gebruikt om u aan te melden bij Azure en Azure DevOps, voegt u een gebruiker toe aan uw DevOps-organisatie onder het Microsoft-account waarmee u zich aanmeldt bij Azure. Zie Gebruikers toevoegen aan uw organisatie of projectvoor meer informatie. Wanneer u de gebruiker toevoegt, kiest u het Basic toegangsniveau.
Meld u vervolgens af bij Azure DevOps. Meld u vervolgens opnieuw aan onder het Microsoft-account dat u gebruikt om u aan te melden bij uw Azure-abonnement.
Het Azure DevOps-project ophalen
Hier zorgt u ervoor dat uw Azure DevOps-organisatie is ingesteld om de rest van deze module te voltooien. U kunt deze taak uitvoeren door een sjabloon uit te voeren waarmee een project in Azure DevOps wordt gemaakt.
De modules in dit leertraject vormen een voortgang terwijl u het Tailspin-webteam volgt via hun DevOps-traject. Voor leerdoeleinden heeft elke module een gekoppeld Azure DevOps-project.
De sjabloon uitvoeren
Voer een sjabloon uit waarmee alles in uw Azure DevOps-organisatie wordt ingesteld.
de sjabloon uitvoeren
Voer op de site Azure DevOps Demo Generator de volgende stappen uit om de sjabloon uit te voeren:
Selecteer Aanmelden en accepteer de gebruiksvoorwaarden.
Selecteer uw Azure DevOps-organisatie op de pagina Nieuw project maken. Voer vervolgens een projectnaam in, zoals Space Game - web - Functionele tests.
Selecteer Ja, ik wil deze opslagplaats splitsen. Selecteer vervolgens Autoriseren.
Selecteer Maak Project aan.
Het duurt even voordat de sjabloon wordt uitgevoerd.
Selecteer Naar project navigeren om naar uw project in Azure DevOps te gaan.
Belangrijk
De Uw Azure DevOps-omgeving opschonen pagina in deze module bevat belangrijke opschoonstappen. Opschonen helpt ervoor te zorgen dat u geen gratis buildminuten meer hebt. Zorg ervoor dat u de opschoonstappen uitvoert, zelfs als u deze module niet voltooit.
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-geauthenticeerde gebruikers, terwijl voor privéprojecten gebruikers toegang moeten worden verleend en geverifieerd om toegang te krijgen tot de diensten.
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 opslagplaatsen instellen
Het werkitem verplaatsen naar Uitvoeren
In dit deel wijst u uzelf een werkitem toe in Azure Boards die betrekking heeft op deze module. U verplaatst het werkitem ook naar de Doe-status. In de praktijk maakt uw team werkitems aan het begin van elke sprint of iteratie.
Door werk op deze manier toe te wijzen, krijgt u een controlelijst van waaruit u kunt werken. Het geeft uw team inzicht in waar u aan werkt en hoeveel werk er nog over is. Het helpt het team ook bij het afdwingen van limieten voor werk dat wordt uitgevoerd (WIP) om te voorkomen dat er te veel werk tegelijk wordt uitgevoerd.
Zoals u zich herinnert, heeft het team deze belangrijkste problemen voor de huidige sprint opgelost:
Notitie
Binnen een Azure DevOps-organisatie worden werkitems opeenvolgend genummerd. In uw project komt het nummer voor elk werkitem mogelijk niet overeen met wat u hier ziet.
Hier verplaatst u het derde item, Kwaliteitstests automatiseren, naar de kolom Uitvoeren. Vervolgens kent u uzelf het werkitem toe. Automatiseer kwaliteitstests betrekking heeft op het automatiseren van UI-tests voor de Space Game website.
Het werkitem instellen:
Ga in Azure DevOps naar Boardsen selecteer Boards in het menu.
Selecteer op het werkitem Kwaliteitstests automatiseren de uitklaplijst onder aan de kaart. Wijs vervolgens het werkitem toe aan uzelf.
Verplaats het werkitem van de kolom To Do naar de kolom Doing.
Aan het einde van deze module, nadat u de taak hebt voltooid, verplaatst u de kaart naar de kolom Gereed.
Het project lokaal instellen
Hier laadt u het Space Game-project in Visual Studio Code, configureert u Git, kloont u uw opslagplaats lokaal en stelt u de upstream remote in, zodat u starterscode kunt downloaden.
Notitie
Als u al klaar bent met het opzetten van het mslearn-tailspin-spacegame-web-deploy project lokaal, kunt u naar het volgende deel gaan.
De geïntegreerde terminal openen
Visual Studio Code wordt geleverd met een geïntegreerde terminal. Hier bewerkt u bestanden en werkt u vanaf de opdrachtregel.
Start Visual Studio Code.
Selecteer Terminalin het menu Weergave.
Selecteer Git Bash-in de vervolgkeuzelijst. Als u bekend bent met een andere Unix-shell die u liever gebruikt, selecteert u die shell.
In het terminalvenster kunt u elke shell kiezen die op uw systeem is geïnstalleerd. U kunt bijvoorbeeld Git Bash of PowerShell of een andere shell kiezen.
Hier gebruikt u Git Bash, onderdeel van Git voor Windows, waarmee u eenvoudig Git-opdrachten kunt uitvoeren.
Notitie
Op Windows, als u Git Bash niet als optie ziet, controleer dan of u Githebt geïnstalleerd en start vervolgens Visual Studio Code opnieuw op.
Voer de opdracht
cd
uit om naar de map te gaan waar u wilt werken. Kies desgewenst uw basismap (~
) of een andere map.cd ~
Git configureren
Als je nieuw bent met Git en GitHub, voer dan eerst een paar opdrachten uit om je identiteit te koppelen aan Git en te authenticeren bij GitHub. Zie Git-instellen voor meer informatie.
U moet minimaal de volgende stappen uitvoeren. Voer de opdrachten uit vanuit de geïntegreerde terminal.
Notitie
Als u al tweeledige verificatie met GitHub gebruikt, een persoonlijk toegangstokenmaken. Wanneer u hierom wordt gevraagd, gebruikt u uw token in plaats van uw wachtwoord.
Behandel uw toegangstoken als een wachtwoord. Bewaar het op een veilige plek.
Stel uw project op in Visual Studio Code
In het Toepassingen bouwen met Azure DevOps leertraject hebt u een Git-opslagplaats gesplitst en gekloond. De opslagplaats bevat de broncode voor de Space Game website. Uw fork is verbonden met uw projecten in Azure DevOps, zodat de build wordt uitgevoerd wanneer u wijzigingen naar GitHub pusht.
Belangrijk
In dit leertraject schakelen we over naar een andere Git-opslagplaats, mslearn-tailspin-spacegame-web-deploy. Toen u de sjabloon voor het instellen van uw Azure DevOps-project hebt uitgevoerd, heeft het proces de opslagplaats automatisch voor u geforkt.
In dit deel kloont u uw fork lokaal, zodat u de pijplijnconfiguratie kunt wijzigen en uitbouwen.
Uw fork lokaal klonen
U hebt nu een kopie van het Space Game-webproject in uw GitHub-account. U gaat nu een kopie naar uw computer downloaden of klonen, zodat u ermee kunt werken.
Een kloon, net als een fork, is een kopie van een opslagplaats. Wanneer u een opslagplaats kloont, kunt u wijzigingen aanbrengen, controleren of ze naar verwachting werken en deze wijzigingen vervolgens uploaden naar GitHub. U kunt uw lokale kopie ook synchroniseren met wijzigingen die andere geverifieerde gebruikers hebben aangebracht in de GitHub-kopie van uw opslagplaats.
Het Space Game-webproject klonen op uw computer:
Ga naar je fork van het Space Game-webproject (mslearn-tailspin-spacegame-web-deploy) op GitHub.
Selecteer Code. Selecteer vervolgens op het tabblad HTTPS de knop naast de URL die wordt weergegeven om de URL naar het klembord te kopiëren.
Ga in Visual Studio Code naar het terminalvenster.
Ga in de terminal naar de map waar u wilt werken. Kies desgewenst uw basismap (
~
) of een andere map.cd ~
Voer de opdracht
git clone
uit. Vervang de URL die hier wordt weergegeven door de inhoud van het Klembord:git clone https://github.com/your-name/mslearn-tailspin-spacegame-web-deploy.git
Ga naar de map
mslearn-tailspin-spacegame-web-deploy
. Dit is de hoofdmap van uw opslagplaats.cd mslearn-tailspin-spacegame-web-deploy
De upstream-remote configureren
Een externe is een Git-opslagplaats waar teamleden samenwerken (zoals een opslagplaats op GitHub). Hier geeft u uw afstandsverbindingen weer en voegt u een afstandsverbinding toe die verwijst naar de kopie van de opslagplaats van Microsoft, zodat u de nieuwste voorbeeldcode kunt verkrijgen.
Voer deze
git remote
opdracht uit om uw externe apparaten weer te geven:git remote -v
U ziet dat u zowel fetch (download) als push (upload) toegang hebt op uw opslagplaats.
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- geeft uw opslagplaats op GitHub op. Wanneer u code uit een andere opslagplaats forkt, wordt de oorspronkelijke externe opslagplaats (degene waaruit u hebt geforkt) vaak upstreamgenoemd.
Voer deze
git remote add
-opdracht uit om een externe repository genaamd upstream te maken die verwijst naar de Microsoft-repository:git remote add upstream https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web-deploy.git
Voer
git remote
opnieuw uit om de wijzigingen te zien:git remote -v
U ziet dat u nog steeds zowel toegang tot ophalen (downloaden) als pushtoegang (uploaden) tot uw opslagplaats hebt. U hebt nu ook ophaaltoegang tot de Microsoft-repository.
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)
Het project openen in de verkenner
In Visual Studio Code verwijst uw terminalvenster naar de hoofdmap van het Space Game webproject. Als u de structuur wilt bekijken en met bestanden wilt werken, opent u het project vanuit de Verkenner.
De eenvoudigste manier om het project te openen, is door Visual Studio Code opnieuw te openen in de huidige map. Voer hiervoor de volgende opdracht uit vanuit de geïntegreerde terminal:
code -r .
U ziet de map en de bestandsstructuur in de verkenner.
Open de geïntegreerde terminal opnieuw. De terminal plaatst u in de hoofdmap van uw webproject.
Als de opdracht code
mislukt, moet u Visual Studio Code aan uw systeempad toevoegen. Ga hiervoor als volgt te werk:
- Selecteer in Visual Studio Code F1 of selecteer >Opdrachtpalet weergeven voor toegang tot het opdrachtenpalet.
- Voer in het opdrachtpalet Shell-opdracht in: installeer de opdracht 'code' in PATH.
- Herhaal de vorige procedure om het project te openen in de verkenner.
U bent nu ingesteld om te werken met de Space Game broncode en uw Azure Pipelines-configuratie vanuit uw lokale ontwikkelomgeving.
De Azure App Service-omgevingen maken
Hier maakt u de omgevingen die de pijplijnfasen definiëren. U maakt één App Service-exemplaar dat overeenkomt met elke fase: Dev, Testen fasering.
In het Een pijplijn met meerdere fasen maken met behulp van de module Azure Pipelines hebt u de Azure CLI gebruikt om uw App Service-exemplaren te maken. Hier doe je hetzelfde.
Belangrijk
U hebt uw eigen Azure-abonnement nodig om de oefeningen in deze module te voltooien.
Cloud Shell openen via de Azure Portal
- Ga naar de Azure Portal en meld u aan.
- Selecteer in de menubalk Cloud Shell-. Wanneer u hierom wordt gevraagd, selecteert u de Bash--ervaring.
Een Azure-regio selecteren
Hier geeft u de standaardregio of geografische locatie op waar uw Azure-resources moeten worden gemaakt.
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 kolom Name in de uitvoer een regio die zich dicht bij u bevindt. Kies bijvoorbeeld eastasia of westus2.
Voer
az configure
uit om uw standaardregio in te stellen. Vervang <REGION-> door de naam van de regio die u hebt gekozen.az configure --defaults location=<REGION>
Hier volgt een voorbeeld van het instellen van westus2 als de standaardregio:
az configure --defaults location=westus2
De App Service-exemplaren maken
Hier maakt u de App Service-exemplaren voor de drie fasen waarin u implementeert: Dev, Testen Staging.
Notitie
Voor leerdoeleinden gebruikt u hier de standaardnetwerkinstellingen. Deze instellingen maken uw site toegankelijk vanaf internet. In de praktijk kunt u een virtueel Azure-netwerk configureren dat uw website in een netwerk plaatst dat niet routeerbaar is voor internet en dat alleen toegankelijk is voor u en uw team. Wanneer u er later klaar voor bent, kunt u uw netwerk opnieuw configureren om de website beschikbaar te maken voor uw gebruikers.
Genereer vanuit Cloud Shell een willekeurig getal dat de domeinnaam van uw web-app uniek maakt.
webappsuffix=$RANDOM
Voer de volgende
az group create
opdracht uit om een resourcegroep te maken met de naam tailspin-space-game-rg.az group create --name tailspin-space-game-rg
Voer de volgende
az appservice plan create
opdracht uit om een App Service-plan met de naam tailspin-space-game-asp-te maken.az appservice plan create \ --name tailspin-space-game-asp \ --resource-group tailspin-space-game-rg \ --sku B1 \ --is-linux
Het argument
--sku
geeft het B1--plan op, dat wordt uitgevoerd op de Basic--laag. Het argument--is-linux
specificeert het gebruik van Linux-werknemers.Belangrijk
Als de B1 SKU geen deel uitmaakt van uw Azure-abonnement, een ander abonnement kiezen, zoals S1 (Standard-).
Voer de volgende
az webapp create
opdrachten uit om de drie App Service-exemplaren te maken, één voor elk van de Dev, Testen Fasering-omgevingen.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"
Voor leerdoeleinden past u hier hetzelfde App Service-plan (B1 Basic) toe op elk App Service-exemplaar. In de praktijk wijst u een plan toe dat overeenkomt met uw verwachte workload.
Voer de volgende
az webapp list
opdracht uit om de hostnaam en status van elk App Service-exemplaar weer te geven.az webapp list \ --resource-group tailspin-space-game-rg \ --query "[].{hostName: defaultHostName, state: state}" \ --output table
Noteer de hostnaam voor elke actieve service. U hebt deze hostnamen later nodig wanneer u uw werk verifieert. Hier volgt een voorbeeld:
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 Running
Als optionele stap kopieert en plakt u een of meer namen in uw browser om te controleren of deze worden uitgevoerd en of de standaardstartpagina wordt weergegeven.
U zou deze pagina moeten zien:
Belangrijk
De Uw Azure DevOps-omgeving opschonen pagina 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. Zorg ervoor dat u de opschoonstappen uitvoert, zelfs als u deze module niet voltooit.
Pijplijnvariabelen maken in Azure Pipelines
In de Een pijplijn met meerdere fasen maken met behulp van Azure Pipelineshebt u één variabele toegevoegd voor elk van de App Service-exemplaren, die overeenkomen met de Ontwikkeling, Testen Staging fasen in uw pijplijn. Hier doe je hetzelfde.
Elke fase in uw pijplijnconfiguratie maakt gebruik van deze variabelen om te bepalen op welk App Service-exemplaar moet worden geïmplementeerd.
Ga als volgende te werk om de variabelen toe te voegen:
Ga in Azure DevOps naar uw Space Game - web - Functionele Testen project.
Onder Pijplijnenselecteer Bibliotheek.
Selecteer + Variabele groep.
Voer onder Eigenschappenvoor de naam van de variabelegroep Release-in.
Onder Variabelen, selecteer + Toevoegen.
Voer voor de naam van de variabele WebAppNameDevin. Voer voor de waarde de naam in van het App Service-exemplaar dat overeenkomt met uw Dev-omgeving, zoals tailspin-space-game-web-dev-1234.
Herhaal stap 5 en 6 nogmaals om variabelen te maken voor uw Test en faseringsomgevingen, zoals wordt weergegeven in deze tabel:
Variabelenaam Voorbeeldwaarde WebAppNameTest tailspin-space-game-web-test-1234 WebAppNameStaging tailspin-space-game-web-staging-1234 Zorg ervoor dat u elke voorbeeldwaarde vervangt door het App Service-exemplaar dat overeenkomt met uw omgeving.
Belangrijk
Stel de naam van het App Service-exemplaar in, niet de hostnaam. In dit voorbeeld voert u tailspin-space-game-web-dev-1234 in en niet tailspin-space-game-web-dev-1234.azurewebsites.net.
Selecteer boven aan de pagina Opslaan om de variabele op te slaan in de pijplijn.
Uw variabelegroep moet er ongeveer als volgt uitzien:
De ontwikkel-, test- en faseringsomgevingen maken
In Een pijplijn met meerdere fasen maken met behulp van Azure Pipelines, hebt u omgevingen gemaakt voor de dev, testen faseringsomgevingen. Hier herhaalt u het proces. Deze keer laat u echter aanvullende criteria weg, zoals de vereiste voor menselijke goedkeuring om wijzigingen van de ene fase naar de volgende fase te bevorderen.
Om de dev, testen staging omgevingen te maken:
In Azure Pipelines, selecteer Omgevingen.
Om de dev-omgeving te maken:
- Selecteer Maak omgeving.
- Voer onder Naamdevin.
- Laat de resterende velden op de standaardwaarden staan.
- Selecteer maken.
De testomgeving maken:
- Ga terug naar de pagina Omgevingen.
- Selecteer Nieuwe omgeving.
- Voer onder de naamtestin.
- Selecteer maken.
De faseringsomgeving maken:
- Ga terug naar de pagina Omgevingen.
- Selecteer Nieuwe omgeving.
- Voer onder Naamstagingin.
- Selecteer Creëer.
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.
Ga in Azure DevOps naar het project Space Game - web - Functionele tests.
Selecteer in de rechterbenedenhoek van de pagina Project-instellingen.
Selecteer onder PipelinesService-verbindingen.
Selecteer nieuwe serviceverbindingen kies vervolgens Azure Resource Manager-en selecteer vervolgens Volgende.
Boven aan de pagina Service principal (automatisch). Selecteer vervolgens Volgende.
Vul deze velden in:
Veld Waarde Bereikniveau abonnement Abonnement Uw Azure-abonnement Resourcegroep tailspin-space-game-rg- Serviceverbindingsnaam Resource Manager - Tailspin - Ruimtespel Tijdens het proces wordt u mogelijk gevraagd u aan te melden bij uw Microsoft-account.
Zorg ervoor dat Toegangsmachtigingen 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.