Échanger des emplacements de déploiement

Effectué

Vous pouvez échanger des emplacements de déploiement dans la page Emplacements de déploiement et la page Vue d’ensemble de votre application. Avant de basculer une application de l’emplacement de déploiement vers l’emplacement de production, vérifiez que l’emplacement de production est bien votre emplacement cible, et que tous les paramètres de l’emplacement source sont configurés comme vous le souhaitez dans l’emplacement de production.

Échange manuel des emplacements de déploiement

Pour échanger des emplacements de déploiement :

  1. Accédez à la page Emplacements de déploiement de votre application, puis sélectionnez Échanger. La boîte de dialogue Échanger regroupe les paramètres des emplacements source et cible sélectionnés qui vont être échangés.

  2. Sélectionnez les emplacements Source et Cible souhaités. En général, la cible correspond à l’emplacement de production. Sélectionnez également les onglets Modifications sources et Modifications cibles pour vérifier que les changements de configuration à opérer correspondent à ce que vous attendez. Lorsque vous avez terminé, vous pouvez échanger les emplacements immédiatement en sélectionnant Échanger.

    Pour voir comment votre emplacement cible s’exécute avec les nouveaux paramètres avant l’échange effectif, ne sélectionnez pas permuter, mais suivez les instructions de la section Échange avec aperçu ci-dessous.

  3. Lorsque vous avez terminé, fermez la boîte de dialogue en sélectionnant Fermer.

Échange avec aperçu (échange multiphase)

Avant de passer à l’emplacement de production (emplacement cible), contrôlez l’exécution de l’application avec les paramètres échangés. L’emplacement source est également initialisé avant la fin de l’échange, ce qui est souhaitable pour les applications stratégiques.

Lorsque vous effectuez un échange avec aperçu, App Service effectue la même opération d’échange, mais il fait une pause après la première étape. Vous pouvez donc vérifier le résultat sur l’emplacement de préproduction avant la fin de l’échange.

Si vous annulez l’échange, App Service réapplique les éléments de configuration à l’emplacement source.

Pour effectuer un échange avec aperçu :

  1. Suivez les étapes ci-dessus à la section Permuter des emplacements de déploiement, mais cochez la case Effectuer la permutation avec aperçu. La boîte de dialogue montre comment la configuration de l’emplacement source est modifiée dans la phase 1, et comment les emplacements source et cible sont modifiés dans la phase 2.

  2. Lorsque vous êtes prêt à démarrer l’échange, sélectionnez Démarrer l’échange.

    Lorsque la phase 1 est terminée, vous en êtes averti dans la boîte de dialogue. Affichez l’aperçu de l’échange dans l’emplacement source en accédant à https://<app_name>-<source-slot-name>.azurewebsites.net.

  3. Lorsque vous êtes prêt à effectuer l’échange en attente, sélectionnez Terminer l’échange dans Action d’échange, puis sélectionnez Terminer l’échange.

    Pour annuler un échange en attente, sélectionnez plutôt Annuler l’échange.

  4. Lorsque vous avez terminé, fermez la boîte de dialogue en sélectionnant Fermer.

Configurer l’échange automatique

L’échange automatique simplifie les scénarios Azure DevOps Services impliquant un déploiement de l’application en continu, sans démarrage à froid ni temps d’arrêt pour les utilisateurs de l’application. Lorsque vous activez l’échange automatique d’un emplacement vers l’emplacement de production, chaque fois que vous envoyez (push) des modifications de votre code à cet emplacement, App Service fait basculer automatiquement l’application vers la production après son initialisation dans l’emplacement source.

Notes

L’échange automatique n’est pas pris en charge dans les applications web sur Linux et Web App pour conteneurs.

Pour configurer l’échange automatique :

  1. Accédez à la page des ressources de votre application et sélectionnez l’emplacement de déploiement que vous souhaitez configurer pour l’échange automatique. Le paramètre se trouve dans la page Configuration > Paramètres généraux.

  2. Définissez Échange automatique activé sur Activé. Ensuite, sélectionnez l’emplacement cible souhaité pour Échanger automatiquement l’emplacement de déploiement, puis sélectionnez Enregistrer dans la barre de commandes.

  3. Exécutez un push de code sur l’emplacement source. L’échange automatique se produit peu après, et la mise à jour est appliquée dans l’URL de votre emplacement cible.

Spécifier l’initialisation personnalisée

Certaines applications peuvent nécessiter quelques actions préparatoires personnalisées avant l’échange. L’élément de configuration applicationInitialization du fichier web.config vous permet de spécifier les actions d’initialisation personnalisées à exécuter. L’opération d’échange attend la fin de l’initialisation personnalisée pour procéder à l’échange avec l’emplacement cible. Voici un exemple de fragment web.config.

<system.webServer>
    <applicationInitialization>
        <add initializationPage="/" hostName="[app hostname]" />
        <add initializationPage="/Home/About" hostName="[app hostname]" />
    </applicationInitialization>
</system.webServer>

Pour plus d’informations sur la personnalisation de l’élément applicationInitialization, consultez Most common deployment slot swap failures and how to fix them.

Vous pouvez également personnaliser le comportement d’initialisation en utilisant l’un des deux paramètres d’application suivants (ou les deux) :

  • WEBSITE_SWAP_WARMUP_PING_PATH: chemin permettant d’effectuer un test ping afin d’initialiser votre site. Ajoutez ce paramètre d’application en spécifiant un chemin d’accès personnalisé qui commence par une barre oblique comme valeur. par exemple /statuscheck. La valeur par défaut est /.
  • WEBSITE_SWAP_WARMUP_PING_STATUSES: Codes de réponse HTTP valides pour l’opération d'initialisation. Ajoutez ce paramètre d’application avec une liste séparée par des virgules de codes HTTP. Par exemple 200,202. Si le code d’état retourné ne figure pas dans la liste, les opérations d’initialisation et d’échange sont arrêtées. Par défaut, tous les codes de réponse sont valides.
  • WEBSITE_WARMUP_PATH : chemin d’accès relatif sur le site qui doit faire l’objet d’un test ping à chaque redémarrage du site (pas seulement pendant les échanges d’emplacements). Les valeurs sont, par exemple, /statuscheck ou le chemin d’accès racine, /.

Restaurer et superviser un échange

Si des erreurs se produisent dans l’emplacement cible (par exemple, l’emplacement de production) après une permutation d’emplacements, rétablissez ces deux emplacements comme ils étaient avant l’opération, en les intervertissant immédiatement.

Si l’exécution de l’opération d’échange prend beaucoup de temps, vous pouvez obtenir des informations au sujet de cette opération dans le journal d’activité.

  1. Sur le portail, dans la page des ressources de votre application, sélectionnez Journal d’activité dans le volet de gauche.

  2. Une opération d’échange s’affiche dans la requête de journal en tant que Swap Web App Slots. Vous pouvez la développer et sélectionner l’une des sous-opérations ou erreurs afin d’afficher le contenu en détail.