Exercice - Créer un site web Azure à l’aide de l’interface CLI

Effectué

Nous utilisons ensuite Azure CLI pour créer un groupe de ressources, puis y déployer une application web.

Le bac à sable gratuit vous permet de créer des ressources dans certaines régions Azure du monde. Sélectionnez une région dans cette liste au moment où vous créez des ressources :

  • westus2
  • southcentralus
  • centralus
  • eastus
  • westeurope
  • southeastasia
  • japaneast
  • brazilsouth
  • australiasoutheast
  • centralindia

Utiliser un groupe de ressources

Quand vous utilisez votre propre machine et votre abonnement Azure, vous devez vous connecter à Azure avec la commande az login. Cependant, vous n’avez pas besoin de vous connecter quand vous utilisez l’environnement de bac à sable Cloud Shell basé sur un navigateur.

Ensuite, vous allez normalement créer un groupe de ressources pour toutes vos ressources Azure associées avec une commande az group create, mais pour cet exercice, le groupe de ressources suivant a été créé pour vous : [nom du groupe de ressources de bac à sable].

Notes

Pour cet exercice, nous utilisons USA Est comme région. Si vous rencontrez un problème lors de la création du plan App Service, sélectionnez une autre région dans la liste précédente.

  1. La première étape de cet exercice consiste à créer plusieurs variables à utiliser ensuite dans des commandes :

    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. Vous pouvez demander à Azure CLI de lister tous vos groupes de ressources dans une table. Il ne devrait y en avoir qu’un seul quand vous vous trouvez dans le bac à sable Azure gratuit :

    az group list --output table
    

    Conseil

    Vous pouvez utiliser le bouton Copier pour copier des commandes dans le Presse-papiers. Pour coller, cliquez avec le bouton droit sur une nouvelle ligne dans le terminal Cloud Shell et sélectionnez Coller ou utilisez le raccourci clavier Maj+Inser (⌘+V sur macOS).

  3. Au fur et à mesure que vous développez avec Azure, vous pouvez vous retrouver avec plusieurs groupes de ressources. Si vous avez plusieurs éléments dans la liste des groupes, vous pouvez filtrer les valeurs de retour en ajoutant une option --query. Essayez la commande suivante :

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

    La requête est mise en forme avec JMESPath, qui est un langage de requête standard pour les demandes JSON. Pour plus d’informations sur ce puissant langage de filtre, consultez http://jmespath.org/. Nous abordons également les requêtes plus en détail dans le module Gérer des machines virtuelles avec Azure CLI.

Étapes de création d’un plan de service

Quand vous exécutez Web Apps avec Azure App Service, vous payez les ressources de calcul Azure utilisées par l’application. Le coût des ressources varie en fonction du plan App Service associé à votre instance Web Apps. Les plans de service déterminent la région utilisée pour le centre de données de l'application, le nombre de machines virtuelles utilisées et le niveau tarifaire.

  1. Créez un plan App Service pour exécuter votre application. La commande suivante spécifie le niveau tarifaire gratuit, mais vous pouvez exécuter az appservice plan create --help pour voir les autres niveaux tarifaires.

    Remarque

    Les noms de l’application et du plan doivent être uniques dans tout Azure. Les variables que vous avez créées précédemment attribuent des valeurs aléatoires en suffixes pour assurer leur unicité. Cependant, si vous recevez une erreur quand vous créez des ressources, vous devez exécuter les commandes listées précédemment pour réinitialiser toutes les variables avec de nouvelles valeurs aléatoires.

    Si vous recevez une erreur concernant le groupe de ressources, exécutez les commandes listées précédemment avec une valeur de groupe de ressources différente.

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

    Cette commande peut durer plusieurs minutes.

  2. Assurez-vous que le plan de service a été correctement créé en listant tous vos plans dans un tableau :

    az appservice plan list --output table
    

    Vous devez normalement obtenir une réponse semblable à l’exemple suivant :

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

Créer une application web

Ensuite, créez l’application web dans votre plan de service. Vous pouvez déployer le code en même temps, mais dans notre exemple nous créons l’application web et déployons le code en deux étapes distinctes.

  1. Pour créer l’application web, fournissez le nom de l’application web et le nom du plan d’application que vous avez créé. Tout comme le nom du plan d’application, le nom de l’application web doit être unique. Les variables que vous avez créées précédemment attribuent des valeurs aléatoires qui devraient être suffisantes pour cet exercice. L’exécution de cette commande peut prendre un moment.

    az webapp create --name $AZURE_WEB_APP --resource-group $RESOURCE_GROUP --plan $AZURE_APP_PLAN
    
  2. Assurez-vous que l’application a bien été créée en listant toutes vos applications dans un tableau :

    az webapp list --output table
    

    Vous devez normalement obtenir une réponse semblable à l’exemple suivant :

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

    Notez la valeur de DefaultHostName indiquée dans la table. Cette adresse est l’URL du nouveau site web. Azure rend votre site web disponible via le nom d’application unique dans le domaine azurewebsites.net. Si le nom de l’application est « popupwebapp-12345 » par exemple, l’URL du site web est : http://popupwebapp-12345.azurewebsites.net. Vous pouvez aussi utiliser le script suivant pour retourner l’adresse HTTP :

    site="http://$AZURE_WEB_APP.azurewebsites.net"
    echo $site
    
  3. Pour obtenir le code HTML par défaut de l’exemple d’application, utilisez CURL avec DefaultHostName :

    curl $AZURE_WEB_APP.azurewebsites.net
    

    Vous devez normalement obtenir une réponse semblable à l’exemple suivant :

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

Déployer du code à partir de GitHub

  1. L’étape finale consiste à déployer le code d’un dépôt GitHub sur l’application web. Nous utilisons une page PHP basique disponible dans le référentiel Github d’exemples Azure qui affiche « Hello World! » quand elle s’exécute. Veillez à utiliser le nom de l’application web que vous avez créé. L’exécution de cette commande peut prendre un moment.

    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. Une fois le déploiement effectué, cliquez à nouveau sur votre site à l’aide d’un navigateur ou d’une cURL :

    curl $AZURE_WEB_APP.azurewebsites.net
    

    La page affiche « Hello World! »

    Hello World!
    

Cet exercice a présenté un modèle classique d’une session Azure CLI interactive. Vous avez commencé par utiliser une commande standard pour créer un nouveau groupe de ressources. Vous avez ensuite utilisé un ensemble de commandes pour déployer une ressource (ici, une application web) dans ce groupe de ressources. Vous pouvez facilement combiner cet ensemble de commandes dans un script d’interpréteur de commandes et l’exécuter chaque fois que vous avez besoin de créer la même ressource.