Oefening: uw Azure DevOps-omgeving instellen

Voltooid

In deze sectie leert u hoe u uw Azure DevOps-organisatie instelt en de Azure App Service-omgeving maakt waarnaar u gaat implementeren.

U leert het volgende:

  • Uw Azure DevOps-project instellen.
  • Beheer uw werkitems met Azure Boards.
  • Maak uw Azure App Service-omgeving.
  • Pijplijnvariabelen maken in Azure Pipelines.
  • Maak een serviceverbinding om te verifiëren met 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.

U hebt geen Azure-abonnement nodig om te werken met Azure DevOps, maar in deze module gebruikt u Azure DevOps om te implementeren in Azure-resources. Gebruik hetzelfde Microsoft-account om u aan te melden bij Zowel Azure als Azure DevOps om het proces te vereenvoudigen.

Als u verschillende Microsoft-accounts gebruikt om u aan te melden bij Azure en Azure DevOps, voegt u een gebruiker met Basic toegangsniveau toe 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.

Meld u vervolgens af bij Azure DevOps en meld u weer aan met hetzelfde account dat u hebt 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. Hiervoor voert u een sjabloon uit waarmee een project wordt gemaakt in Azure DevOps.

De modules in dit leertraject vormen een voortgang. U volgt het Tailspin-webteam 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:

de sjabloon uitvoeren

Voer op de site Azure DevOps Demo Generator de volgende stappen uit om de sjabloon uit te voeren:

  1. Selecteer Aanmelden en accepteer de gebruiksvoorwaarden.

  2. Selecteer uw Azure DevOps-organisatie op de pagina Nieuw project maken. Voer een projectnaam in, zoals Space Game - web - Docker.

    Schermopname van het maken van een project via Azure DevOps Demo Generator.

  3. Selecteer Ja, ik wil deze opslagplaats splitsen>autoriseren. Als u hierom wordt gevraagd, autoriseert u de toegang tot uw GitHub-account.

    Belangrijk

    U moet deze optie selecteren, zodat de sjabloon verbinding kan maken met uw GitHub-opslagplaats. Zorg ervoor dat u het selectievakje aankruist, zelfs als u de Space Game repository al hebt geforkt. De sjabloon gebruikt uw bestaande fork.

  4. Selecteer Project-maken.

  5. Selecteer Naar project navigeren om naar uw project in Azure DevOps te gaan.

Belangrijk

In deze module bevat de pagina Uw Azure DevOps-omgeving opschonen belangrijke opschoonstappen. Opschonen helpt ervoor te zorgen dat u geen gratis buildminuten meer hebt. Zorg ervoor dat u de opschoonstappen volgt, 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-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:

Het werkitem verplaatsen naar Uitvoeren

Hier wijst u een werkitem toe aan uzelf op Azure Boards. U verplaatst het werkitem ook naar de status Doen. In de praktijk maken u en uw team aan het begin van elke sprintof werkiteratie werkitems aan.

Met deze werktoewijzing beschikt u over 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 om de work-in-progress (WIP) limieten af te dwingen, zodat het team niet te veel werk tegelijkertijd op zich neemt.

Hier verplaatst u het eerste item, Containerversie van de website maken met behulp van Docker, naar de kolom Uitvoeren en wijst u uzelf vervolgens toe aan het werkitem.

Het werkitem instellen:

  1. Navigeer vanuit Azure DevOps naar Boards. Selecteer vervolgens Borden in het menu.

    Schermopname van Azure DevOps met de locatie van het menu Borden.

  2. Selecteer in het werkitem 'Containerversie van de website maken met behulp van Docker' de naar beneden wijzende pijl onderaan de card en wijs het werkitem vervolgens aan uzelf toe.

    Schermopname van Azure Boards met de locatie van de pijl-omlaag.

  3. Verplaats het werkitem van de kolom To Do naar de kolom Doing.

    Schermopname van Azure Boards met de kaart in 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-omgeving maken

In de Een release-pijplijn maken met Azure Pipelines module hebt u een App Service-exemplaar gemaakt met behulp van Azure Portal. Hoewel de portal een uitstekend hulpprogramma is voor het verkennen van de aanbiedingen van Azure, kan het instellen van onderdelen zoals App Service lastig worden.

In deze module gebruikt u de Azure CLI om de resources te starten die nodig zijn voor het implementeren en uitvoeren van een App Service-exemplaar. U hebt toegang tot de Azure CLI vanuit een terminal of via Visual Studio Code.

Belangrijk

U moet uw eigen Azure-abonnement hebben om de oefeningen in deze module te kunnen voltooien.

Cloud Shell in Azure portal starten

  1. Ga naar de Azure Portal en meld u aan.

  2. Selecteer de Cloud Shell- in de menubalk en selecteer vervolgens de Bash--ervaring.

    Schermopname van Azure Portal met de locatie van het menu-item van Cloud Shell.

    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 die zich binnen een bepaalde geografische locatie bevinden. VS - oost, VS - west en Europa - noord zijn enkele voorbeelden van regio's. Elke Azure-resource, zoals een App Service-exemplaar, wordt toegewezen aan een specifieke regio.

Als u het proces van het uitvoeren van opdrachten wilt vereenvoudigen, selecteert u eerst een standaardregio. Zodra de standaardregio is opgegeven, gebruiken volgende opdrachten deze regio standaard, tenzij expliciet een andere regio is opgegeven.

  1. Voer de volgende opdracht uit om de beschikbare regio's voor uw Azure-abonnement weer te geven.

    az account list-locations \
      --query "[].{Name: name, DisplayName: displayName}" \
      --output table
    
  2. Selecteer een regio die zich in de buurt van uw locatie bevindt in de kolom Naam in de uitvoer. U kunt bijvoorbeeld kiezen voor eastasia of westus2.

  3. Voer de volgende opdracht uit om uw standaardregio in te stellen. Vervang de tijdelijke aanduiding door de naam van de regio die u hebt geselecteerd.

    az configure --defaults location=<REGION>
    

    In dit voorbeeld wordt westus2 ingesteld als de standaardregio:

    az configure --defaults location=westus2
    

Bash-variabelen maken

In deze sectie 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.

  1. Genereer vanuit Cloud Shell een willekeurig getal. Hierdoor kunt u in de volgende stap eenvoudiger wereldwijd unieke namen maken voor bepaalde services.

    resourceSuffix=$RANDOM
    
  2. Wereldwijd unieke namen maken voor uw App Service-web-app en Azure Container Registry. Met dubbele aanhalingstekens in deze opdrachten wordt Bash gevraagd om de variabelen te interpoleren met behulp van de inlinesyntaxis.

    webName="tailspin-space-game-web-${resourceSuffix}"
    registryName="tailspinspacegame${resourceSuffix}"
    
  3. Maak nog twee Bash-variabelen om de namen van uw resourcegroep en App Service-plan op te slaan.

    rgName='tailspin-space-game-rg'
    planName='tailspin-space-game-asp'
    

De Azure-resources maken

Notitie

Voor leerdoeleinden vindt 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 waartoe alleen u en uw team toegang hebben. Later kunt u uw netwerk opnieuw configureren om de website beschikbaar te maken voor uw gebruikers.

  1. 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
    
  2. Voer de volgende az acr create opdracht uit om een Azure Container Registry te maken met behulp van de eerder gedefinieerde naam.

    az acr create --name $registryName \
      --resource-group $rgName \
      --sku Standard \
      --admin-enabled true
    
  3. Voer de volgende az appservice plan create opdracht uit om een App Service-plan te maken met behulp van de eerder gedefinieerde naam.

    az appservice plan create \
      --name $planName \
      --resource-group $rgName \
      --sku B1 \
      --is-linux
    

    Het argument --sku geeft het B1-plan aan. Dit plan wordt uitgevoerd op de Basic-laag. Het argument --is-linux specificeert het gebruik van Linux-werkrollen.

    Belangrijk

    Als de B1-SKU niet beschikbaar is in uw Azure-abonnement, kies een ander abonnement, zoals S1 (Standaard).

  4. 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 \
      --deployment-container-image-name $registryName.azurecr.io/web:latest
    
  5. 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. U hebt deze later nodig wanneer u uw werk verifieert. Hier volgt een voorbeeld:

    HostName                                        State
    ----------------------------------------------  -------
    tailspin-space-game-web-4692.azurewebsites.net  Running
    
  6. Voer de volgende az acr list opdracht uit om de aanmeldingsserver van het Azure Container Registry-exemplaar weer te geven. U hebt deze servernaam nodig wanneer u later pijplijnvariabelen maakt.

    az acr list \
      --resource-group $rgName \
      --query "[].{loginServer: loginServer}" \
      --output table
    

    Noteer de aanmeldingsserver. U hebt deze later nodig wanneer u de pijplijn configureert. Hier volgt een voorbeeld:

    LoginServer
    ---------------------------------
    tailspinspacegame4692.azurecr.io    
    

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 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. Je doet hetzelfde hier. Daarnaast voegt u de naam van uw Azure Container Registry toe.

U kunt deze namen in uw pijplijnconfiguratie hardcoden, maar als u deze definieert als variabelen, is uw configuratie beter herbruikbaar. Bovendien kunt u, als uw exemplaarnamen veranderen, de variabelen bijwerken en uw pijplijn activeren zonder de configuratie te wijzigen.

Ga als volgende te werk om de variabelen toe te voegen:

  1. Ga in Azure DevOps naar uw Space Game - web - Docker project.

  2. Selecteer de optie Bibliotheekonder Pijplijnen.

    Schermopname van Azure Pipelines met de menuoptie Bibliotheek.

  3. Selecteer + Variabele groep.

  4. Voer onder EigenschappenRelease- in als naam van de variabelegroep.

  5. Onder Variabelen, selecteer + Toevoegen.

  6. Voer voor de naam van de variabele WebAppNamein. Voer voor de waarde de naam in van het App Service-exemplaar dat hierboven is gemaakt, zoals tailspin-space-game-web-4692.

    Belangrijk

    Stel de naam van het App Service-exemplaar in, niet de hostnaam. In dit voorbeeld voert u tailspin-space-game-web-4692 in en niet tailspin-space-game-web-4692.azurewebsites.net.

  7. Herhaal het proces om een andere variabele toe te voegen met de naam RegistryName met de waarde van uw Azure Container Registry-aanmeldingsserver, zoals tailspinspacegame4692.azurecr.io.

  8. Selecteer Pijplijnmachtigingenen selecteer vervolgens het +-teken om een pijplijn toe te voegen. Selecteer de optie mslearn-tailspin-spacegame-web-docker om de pijplijn toestemming te geven voor toegang tot de variabelengroep.

  9. Selecteer Opslaan bovenaan de pagina om uw variabelen op te slaan. Uw variabelegroep moet er als volgt uitzien:

    Schermopname van Azure Pipeline met de variabelegroep. De groep bevat twee variabelen.

Vereiste serviceverbindingen 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. U maakt ook een Docker Registry-verbinding om uw container te publiceren naar Azure Container Registry.

Belangrijk

Zorg ervoor dat u bent aangemeld bij zowel Azure Portal als Azure DevOps onder hetzelfde Microsoft-account.

  1. Ga in Azure DevOps naar uw Space Game - web - Docker project.

  2. Selecteer in de benedenhoek van de pagina Project-instellingen.

  3. Onder Pipelines, selecteer Serviceverbindingen.

  4. Selecteer nieuwe serviceverbindingen kies vervolgens Azure Resource Manager-en selecteer vervolgens Volgende.

  5. Dicht bij de bovenkant van de pagina, Service principal (automatisch). Selecteer vervolgens Volgende.

  6. Vul deze velden in:

    Veld Waarde
    Bereikniveau Abonnement
    Abonnement 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.

  7. Zorg ervoor dat Toegangsmachtigingen verlenen aan alle pijplijnen is geselecteerd.

  8. 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.

  9. Selecteer nieuwe serviceverbindingen kies Docker Registryen selecteer vervolgens Volgende.

  10. Selecteer bovenaan de pagina Azure Container Registry.

  11. Vul deze velden in:

    Veld Waarde
    Abonnement Uw Azure-abonnement
    Azure-containerregister Selecteer de versie die u eerder hebt gemaakt
    Serviceverbindingsnaam Containerregisterverbinding
  12. Zorg ervoor dat Toegangsmachtigingen verlenen aan alle pijplijnen is geselecteerd.

  13. Selecteer Opslaan wanneer u klaar bent.