Configurer un environnement de préproduction dans Azure Spring Apps
Remarque
Les plans Essentiel, Standard et Entreprise seront déconseillés à compter de la mi-mars 2025, avec une période de mise hors service de 3 ans. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez l’annonce de mise hors service d’Azure Spring Apps.
Le plan de consommation standard et dédiée sera déconseillé à compter du 30 septembre 2024, avec un arrêt complet après six mois. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez Migrer le plan de consommation standard et dédiée Azure Spring Apps vers Azure Container Apps.
Cet article s’applique à : ✔️ Java ❌ C#
Cet article s’applique à : ❌ De base ✔️ Standard ✔️ Entreprise
Cet article explique comment configurer un déploiement de préproduction à l’aide du modèle de déploiement bleu-vert dans Azure Spring Apps. Le déploiement bleu-vert est un modèle de livraison continue Azure DevOps qui consiste à garder en service une version existante (bleue) pendant le déploiement d'une nouvelle version (verte). Cet article vous montre également comment faire passer ce déploiement intermédiaire en production sans modifier le déploiement de production.
Prérequis
- Une instance Azure Spring Apps existante sur le plan Standard.
- Azure CLI.
Cet article utilise une application générée à partir de Spring Initializr. Si vous souhaitez utiliser une autre application pour cet exemple, apportez une modification à une partie publique de l’application afin de différencier votre déploiement de préproduction du déploiement de production.
Conseil
Azure Cloud Shell est un interpréteur de commandes interactif gratuit que vous pouvez utiliser pour exécuter les instructions de cet article. Les outils Azure les plus courants sont préinstallés, notamment les dernières versions de Git, JDK, Maven et Azure CLI. Si vous êtes connecté à votre abonnement Azure, lancez votre instance de Cloud Shell. Pour en savoir plus, consultez Vue d’ensemble d’Azure Cloud Shell.
Pour configurer un déploiement bleu-vert dans Azure Spring Apps, suivez les instructions des sections suivantes.
Installer l’extension Azure CLI
Installez l’extension Azure Spring Apps pour Azure CLI à l’aide de la commande suivante :
az extension add --name spring
Préparer l'application et les déploiements
Pour générer l'application, procédez comme suit :
Générez le code de l'exemple d'application à l'aide de Spring Initializr avec cette configuration.
Téléchargez le code.
Ajoutez le fichier source HelloController.java suivant au dossier *\src\main\java\com\example\hellospring* :
package com.example.hellospring; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RequestMapping; @RestController public class HelloController { @RequestMapping("/") public String index() { return "Greetings from Azure Spring Apps!"; } }
Générez le fichier .jar :
mvn clean package -DskipTests
Créez l’application dans votre instance Azure Spring Apps :
az spring app create \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name demo \ --runtime-version Java_17 \ --assign-endpoint
Déployez l’application sur Azure Spring Apps :
az spring app deploy \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name demo \ --artifact-path target\hellospring-0.0.1-SNAPSHOT.jar
Modifiez le code de votre déploiement intermédiaire :
package com.example.hellospring; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RequestMapping; @RestController public class HelloController { @RequestMapping("/") public String index() { return "Greetings from Azure Spring Apps! THIS IS THE GREEN DEPLOYMENT"; } }
Régénérez le fichier .jar :
mvn clean package -DskipTests
Créez le déploiement vert :
az spring app deployment create \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --app demo \ --name green \ --runtime-version Java_17 \ --artifact-path target\hellospring-0.0.1-SNAPSHOT.jar
Afficher les applications et les déploiements
Effectuez les étapes suivantes pour afficher les applications déployées.
Accédez à votre instance Azure Spring Apps dans le portail Azure.
Dans le volet de navigation, ouvrez le volet Apps pour afficher les applications de votre instance de service.
Sélectionnez une application pour afficher les détails.
Ouvrez Déploiements pour voir tous les déploiements de l’application. La grille affiche le déploiement de production et le déploiement intermédiaire.
Sélectionnez l'URL pour ouvrir l'application actuellement déployée.
Sélectionnez Production dans la colonne État pour afficher l'application par défaut.
Sélectionnez Intermédiaire dans la colonne État pour afficher l'application intermédiaire.
Conseil
Vérifiez que votre point de terminaison de test se termine par une barre oblique (/) pour garantir le bon chargement du fichier CSS. Si votre navigateur vous demande d’entrer des informations d’identification de connexion pour afficher la page, utilisez URL Decode pour décoder votre point de terminaison de test. Le décodage par URL retourne une URL au format https://\<username>:\<password>@\<cluster-name>.test.azuremicroservices.io/demo/green
. Utilisez ce format pour accéder à votre point de terminaison. Si vous voulez désactiver l’authentification de base pour votre point de terminaison de test, exécutez la commande Azure CLI suivante : az spring app update --resource-group <resource-group-name> --service <Azure-Spring-Apps-instance-name> --name demo --disable-test-endpoint-auth true
Remarque
Les paramètres du serveur de configuration s'appliquent à la fois à votre environnement intermédiaire et à votre environnement de production. Par exemple, si vous définissez le chemin contextuel (server.servlet.context-path) pour la démo de votre application dans le serveur de configuration sur quelque part, le chemin d'accès à votre déploiement vert devient https://\<username>:\<password>@\<cluster-name>.test.azuremicroservices.io/demo/green/somepath/...
.
Si vous visitez la démonstration de votre application publique à ce stade, vous devez voir l’ancienne page sans votre nouvelle modification.
Définir le déploiement vert comme environnement de production
Après avoir vérifié votre changement dans votre environnement intermédiaire, vous pouvez l’envoyer (push) en production. Sur la page Applications>Déploiements, sélectionnez l'application qui se trouve actuellement en Production.
Sélectionnez les points de suspension situés après l'État de l'inscription du déploiement vert, puis sélectionnez Définir en tant que déploiement de production.
Vérifiez que l'URL de l'application affiche vos modifications.
Remarque
Une fois le déploiement vert défini comme environnement de production, le déploiement précédent devient le déploiement intermédiaire.
Modifier le déploiement de préproduction
Si vous n'êtes pas satisfait de votre changement, vous pouvez modifier le code de votre application, générer un nouveau package .jar et le charger dans votre déploiement vert à l'aide d'Azure CLI :
az spring app deploy \
--resource-group <resource-group-name> \
--service <service-instance-name> \
--name demo \
--deployment green \
--artifact-path demo.jar
Supprimer le déploiement intermédiaire
Pour supprimer votre déploiement intermédiaire du portail Azure, accédez à la page correspondante et sélectionnez le bouton Supprimer.
Vous pouvez également supprimer votre déploiement intermédiaire à partir d’Azure CLI en exécutant la commande suivante :
az spring app deployment delete \
--resource-group <resource-group-name> \
--service <service-instance-name> \
--name <staging-deployment-name> \
--app demo