Exercício – criar um site do Azure com a CLI

Concluído

Em seguida, vamos usar a CLI do Azure para criar um grupo de recursos e, em seguida, implantar um aplicativo Web nesse grupo de recursos.

O sandbox gratuito permite-lhe criar recursos num subconjunto das regiões globais do Azure. Selecione uma região desta lista quando criar recursos:

  • westus2
  • E.U.A Centro-Sul
  • centralus
  • eastus
  • westeurope
  • Sudeste Asiático
  • japaneast
  • brazilsouth
  • australiasoutheast
  • centralindia

Usar um grupo de recursos

Quando estiver a trabalhar com a sua própria máquina e subscrição do Azure, tem de iniciar sessão no Azure utilizando o az login comando. No entanto, fazer login é desnecessário quando você estiver usando o ambiente de área restrita do Cloud Shell baseado em navegador.

Em seguida, você normalmente criaria um grupo de recursos para todos os seus recursos relacionados do Azure com um az group create comando, mas para este exercício, o seguinte grupo de recursos foi criado para você: [sandbox resource group name].

Nota

Para este exercício, estamos usando o Leste dos EUA como a região. Se você encontrar um problema ao criar o plano de serviço de aplicativo, selecione uma região diferente da lista anterior.

  1. Seu primeiro passo neste exercício é criar várias variáveis para usar em comandos posteriores:

    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. Pode pedir à CLI do Azure para listar todos os seus grupos de recursos numa tabela. Deve haver apenas um enquanto você estiver na área restrita gratuita do Azure:

    az group list --output table
    

    Gorjeta

    Pode utilizar o botão Copiar para copiar comandos para a área de transferência. Para colar, clique com o botão direito do mouse em uma nova linha no terminal do Cloud Shell e selecione Colar, ou use o atalho de teclado Shift+Insert (⌘+V no macOS).

  3. À medida que trabalha mais no Azure, poderá acabar por ter vários grupos de recursos. Se tiver vários itens na lista de grupos, pode filtrar os valores de retorno ao adicionar uma opção --query. Experimente o seguinte comando:

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

    A consulta é formatada com JMESPath, que é uma linguagem de consulta padrão para pedidos JSON. Pode saber mais sobre esta avançada linguagem de filtragem em http://jmespath.org/. Também abordamos consultas mais detalhadamente no módulo Gerir VMs com a CLI do Azure.

Passos para criar um plano do serviço

Ao executar Aplicativos Web usando o Serviço de Aplicativo do Azure, você paga pelos recursos de computação do Azure que o aplicativo usa e os custos de recursos dependem do plano do Serviço de Aplicativo associado aos seus Aplicativos Web. Os planos de serviço determinam a região utilizada para o datacenter da aplicação, o número de VMs utilizadas e o escalão de preço.

  1. Crie um plano do Serviço da Aplicações para executar a aplicação. O comando seguinte especifica o escalão de preço gratuito, mas pode executar az appservice plan create --help para ver outros escalões de preços.

    Nota

    Os nomes de aplicativo e plano devem ser exclusivos em todo o Azure. As variáveis que criou anteriormente vão atribuir valores aleatórios como sufixos para garantir que são exclusivos. No entanto, se você receber um erro ao criar recursos, execute os comandos listados anteriormente para redefinir todas as variáveis com novos valores aleatórios.

    Se lhe for apresentado um erro relativo ao grupo de recursos, execute os comandos listados anteriormente com outro valor de grupo de recursos.

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

    Este comando pode demorar vários minutos a concluir.

  2. Verifique se o plano de serviço foi criado com êxito listando todos os seus planos em uma tabela:

    az appservice plan list --output table
    

    Você deve obter uma resposta como o exemplo a seguir:

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

Criar uma aplicação Web

Em seguida, crie o aplicativo Web em seu plano de serviço. Pode implementar o código ao mesmo tempo, mas, no nosso exemplo, iremos criar a aplicação Web e implementar o código em passos diferentes.

  1. Para criar o aplicativo Web, forneça o nome do aplicativo Web e o nome do plano de aplicativo criado anteriormente. Assim como o nome do plano do aplicativo, o nome do aplicativo Web deve ser exclusivo. As variáveis criadas anteriormente atribuem valores aleatórios que devem ser suficientes para este exercício. Este comando pode levar alguns minutos para ser concluído.

    az webapp create --name $AZURE_WEB_APP --resource-group $RESOURCE_GROUP --plan $AZURE_APP_PLAN
    
  2. Verifique se o aplicativo foi criado com êxito listando todos os seus aplicativos em uma tabela:

    az webapp list --output table
    

    Você deve obter uma resposta como o exemplo a seguir:

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

    Anote o DefaultHostName listado na tabela; este endereço é o URL do novo site. O Azure disponibiliza seu site por meio do nome exclusivo do azurewebsites.net aplicativo no domínio. Por exemplo, se o nome do seu aplicativo fosse "popupwebapp-12345", o URL do seu site seria: http://popupwebapp-12345.azurewebsites.net. Você também pode usar o seguinte script para retornar o endereço HTTP:

    site="http://$AZURE_WEB_APP.azurewebsites.net"
    echo $site
    
  3. Para obter o HTML padrão para o aplicativo de exemplo, use CURL com o DefaultHostName:

    curl $AZURE_WEB_APP.azurewebsites.net
    

    Você deve obter uma resposta como o exemplo a seguir:

    <!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)
    

Implantar código do GitHub

  1. A etapa final é implementar o código a partir de um repositório do GitHub na aplicação Web. Vamos usar uma página PHP básica disponível no repositório GitHub de Exemplos do Azure que exibe "Hello World!" quando é executado. Certifique-se de que utiliza o nome da aplicação Web que criou. Este comando pode levar alguns minutos para ser concluído.

    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. Depois de implantado, acesse seu site novamente com um navegador ou CURL:

    curl $AZURE_WEB_APP.azurewebsites.net
    

    A página apresenta o texto "Olá Mundo!"

    Hello World!
    

Este exercício demonstrou um padrão típico de uma sessão interativa da CLI do Azure. Primeiro, utilizou um comando padrão para criar um novo grupo de recursos. Em seguida, utilizou um conjunto de comandos para implementar um recurso (neste exemplo, uma aplicação Web) para este grupo de recursos. Você pode facilmente combinar esse conjunto de comandos em um shell script e executá-lo sempre que precisar criar o mesmo recurso.