Configurer un environnement de préproduction dans Azure Spring Apps
Article
Notes
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.
Cet article s'applique à : ❎ Basique ✅ 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.
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
az spring app create \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name demo \
--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";
}
}
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
az spring app deployment create \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--app demo \
--name green \
--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
Notes
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 en tant que somepath, 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.
Notes
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
In this module, you learn how to deploy a Spring Boot app to Azure Container Apps. You deploy a Spring Boot application to Azure Container Apps and maintain it using the built-in Java stack.
Générez des solutions de bout en bout dans Microsoft Azure pour créer des fonctions Azure Functions, implémenter et gérer des applications web, développer des solutions qui utilisent le Stockage Azure, et bien plus encore.