Övning – Skapa en Azure-webbplats med hjälp av CLI

Slutförd

Nu ska vi använda Azure CLI för att skapa en resursgrupp och sedan distribuera en webbapp till den resursgruppen.

Med den kostnadsfria sandbox-miljön kan du skapa resurser i några av Azures globala regioner. Välj en region från den här listan när du skapar resurser:

  • westus2
  • USA, södra centrala
  • centralus
  • eastus
  • Europa, västra
  • Asien, sydöstra
  • Japan, östra
  • Brasilien, södra
  • Australien, sydöstra
  • centralindia

Använda en resursgrupp

När du arbetar med din egen dator och Azure-prenumeration måste du logga in på Azure med kommandot az login . Det är dock inte nödvändigt att logga in när du använder den webbläsarbaserade sandbox-miljön i Cloud Shell.

Därefter skulle du normalt skapa en resursgrupp för alla dina relaterade Azure-resurser med ett az group create kommando, men för den här övningen har följande resursgrupp skapats åt dig: [resursgruppsnamn för sandbox-miljö].

Kommentar

I den här övningen använder vi USA, östra som region. Om du stöter på ett problem när du skapar apptjänstplanen väljer du en annan region i föregående lista.

  1. Det första steget i den här övningen är att skapa flera variabler som ska användas i senare kommandon:

    export RESOURCE_GROUP=<rgn>[sandbox resource group name]</rgn>
    export AZURE_REGION=eastus
    export AZURE_APP_PLAN=popupappplan-$RANDOM
    export AZURE_WEB_APP=popupwebapp-$RANDOM
    
  2. Du kan be Azure CLI att lista alla dina resursgrupper i en tabell. Det bör bara finnas en när du är i den kostnadsfria Azure-sandbox-miljön:

    az group list --output table
    

    Dricks

    Du kan använda knappen Kopiera till att kopiera kommandon till Urklipp. Om du vill klistra in högerklickar du på en ny rad i Cloud Shell-terminalen och väljer Klistra in eller använder kortkommandot Skift+Insert (⌘+V på macOS).

  3. I takt med att du utvecklar mer i Azure kan du ha många resursgrupper. Om det finns flera objekt i grupplistan kan du filtrera returvärdena genom att lägga till ett --query-alternativ. Testa följande kommando:

    az group list --query "[?name == '$RESOURCE_GROUP']"
    

    Frågan är formaterad med JMESPath, som är ett standardfrågespråk för JSON-begäranden. Du kan läsa mer om det här kraftfulla filterspråket på http://jmespath.org/. Vi tar även upp frågor mer ingående i modulen Hantera virtuella datorer med Azure CLI.

Steg för att skapa en serviceplan

När du kör Web Apps med Azure App Service betalar du för de Azure-beräkningsresurser som appen använder och resurskostnaderna beror på den App Service-plan som är associerad med dina webbappar. Serviceplaner avgör vilken region som används för appens datacenter, hur många virtuella datorer som används och prisnivån.

  1. Skapa en App Service-plan för att köra din app. Följande kommando anger den kostnadsfria prisnivån, men du kan köra az appservice plan create --help för att se de andra prisnivåerna.

    Kommentar

    App- och plannamnen måste vara unika i hela Azure. Variablerna som du skapade tidigare tilldelar slumpmässiga värden som suffix för att se till att de är unika. Men om du får ett fel när du skapar resurser bör du köra kommandona som angavs tidigare för att återställa alla variabler med nya slumpmässiga värden.

    Om du får ett felmeddelande om resursgruppen kör du de kommandon som angavs tidigare med ett annat värde för resursgrupp.

    az appservice plan create --name $AZURE_APP_PLAN --resource-group $RESOURCE_GROUP --location $AZURE_REGION --sku FREE
    

    Det här kommandot kan ta flera minuter att slutföra.

  2. Kontrollera att tjänstplanen har skapats genom att visa alla dina planer i en tabell:

    az appservice plan list --output table
    

    Du bör få ett svar som i följande exempel:

    Kind    Location    MaximumNumberOfWorkers    Name                NumberOfSites    ResourceGroup                               Status
    ------  ----------  ------------------------  ------------------  ---------------  ------------------------------------------  --------
    app     East US     3                         popupappplan-54321  0                Learn-12345678-1234-1234-1234-123456789abc  Ready
    

Skapa en webbapp

Skapa sedan webbappen i din tjänstplan. Du kan distribuera koden på samma gång, men i vårt exempel skapar vi webbappen och distribuerar koden som separata steg.

  1. Om du vill skapa webbappen anger du namnet på webbappen och namnet på den appplan som du skapade tidigare. Precis som namnet på appplanen måste webbappens namn vara unikt. De variabler som du skapade tidigare tilldelar slumpmässiga värden som bör vara tillräckliga för den här övningen. Det här kommandot kan ta en stund att slutföra.

    az webapp create --name $AZURE_WEB_APP --resource-group $RESOURCE_GROUP --plan $AZURE_APP_PLAN
    
  2. Kontrollera att appen har skapats genom att visa alla dina appar i en tabell:

    az webapp list --output table
    

    Du bör få ett svar som i följande exempel:

    Name               Location    State    ResourceGroup                               DefaultHostName                      AppServicePlan
    -----------------  ----------  -------  ------------------------------------------  -----------------------------------  ------------------
    popupwebapp-12345  East US  Running  Learn-12345678-1234-1234-1234-123456789abc  popupwebapp-12345.azurewebsites.net  popupappplan-54321
    

    Anteckna det DefaultHostName som visas i tabellen. Det är webbadressen till den nya webbplatsen. Azure gör din webbplats tillgänglig via det unika appnamnet i domänen azurewebsites.net . Om ditt appnamn till exempel var "popupwebapp-12345" skulle webbplats-URL:en vara: http://popupwebapp-12345.azurewebsites.net. Du kan också använda följande skript för att returnera HTTP-adressen:

    site="http://$AZURE_WEB_APP.azurewebsites.net"
    echo $site
    
  3. Om du vill hämta standard-HTML för exempelappen använder du CURL med DefaultHostName:

    curl $AZURE_WEB_APP.azurewebsites.net
    

    Du bör få ett svar som i följande exempel:

    <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Microsoft Azure App Service - Welcome</title><link rel="shortcut icon" href="https://appservice.azureedge.net/images/app-service/v4/favicon.ico" type="image/x-icon"/><link href="https://appservice.azureedge.net/css/app-service/v4/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous"/><style>html, body{height: 100%; background-color: #ffffff; color: #000000; font-size: 13px;}*{border-radius: 0 !important;}</style> ... (continued)
    

Distribuera kod från GitHub

  1. Det sista steget är att distribuera kod från en GitHub-lagringsplats till webbappen. Nu ska vi använda en grundläggande PHP-sida som är tillgänglig på GitHub-lagringsplatsen Azure Samples som visar "Hello World!" när den körs. Var noga med att använda namnet på den webbapp som du skapade. Det här kommandot kan ta en stund att slutföra.

    az webapp deployment source config --name $AZURE_WEB_APP --resource-group $RESOURCE_GROUP --repo-url "https://github.com/Azure-Samples/php-docs-hello-world" --branch master --manual-integration
    
  2. När den har distribuerats går du till webbplatsen igen med en webbläsare eller CURL:

    curl $AZURE_WEB_APP.azurewebsites.net
    

    ”Hello World!” visas på sidan.

    Hello World!
    

I den här övningen fick du se ett vanligt mönster för en interaktiv Azure CLI-session. Först använde du ett standardkommando för att skapa en ny resursgrupp. Sedan använde du en uppsättning kommandon för att distribuera en resurs (i det här exemplet en webbapp) till resursgruppen. Du kan enkelt kombinera den här uppsättningen kommandon till ett gränssnittsskript och köra den varje gång du behöver skapa samma resurs.