Scénario de gestion
Options d'exercice
Flux de tâches
- Configurez les conditions préalables et l'environnement.
- Effectuez le déploiement initial en bleu et vert de l'environnement BLUE (Live).
- Exécution d'un déploiement bleu-vert de l'environnement VERT (Inactif).
- Testez l'application.
- Faites de l'environnement VERT l'environnement productif.
- Nettoyer les ressources.
Conditions préalables
Comment obtenir de l'aide
Simulation de plate-forme
Tâche 1: Configuration des conditions préalables et de l'environnement
Étapes
Assurez-vous que toutes les conditions préalables sont installées et configurées.
Exécutez les étapes requises.
Clonez l'application SAP CAP Book Shop.
Saisissez le code suivant :
123
git clone https://github.tools.sap/SAP-BTP-Courses/cf400_sample_app bookshop
cd bookshop
Installez les dépendances.
Saisissez le code suivant :
npm install
Connectez-vous à Cloud Foundry.
Saisissez le code suivant :
123
cf api <API-ENDPOINT>
cf login
cf target -o <ORG> -s <SPACE>
Vous trouverez le point d'extrémité de l'API dans la section Synthèse de votre sous-compte dans le cockpit SAP BTP.
Tâche 2: Exécution du déploiement initial bleu-vert de l'environnement de production
Étapes
Créez l'application pour la production.
Saisissez le code suivant :
cds build --productionLe paramètre --production garantit que les artefacts liés au déploiement dans le cloud sont créés par cds build.
Générez l'archive MTA initiale pour l'application.
Saisissez le code suivant :
1234
mbt build -t gen --mtar hello-cloud-foundry-blue.mta
INFO generating the MTA archive...
INFO the MTA archive generated at: gen\hello-cloud-foundry-blue.mta
Vous trouverez le point d'extrémité de l'API dans la section Synthèse de votre sous-compte dans le cockpit SAP BTP.
Déployez l'environnement initial (bleu) à l'aide du fichier .mta existant.
Saisissez le code suivant :
1234567891011
cf deploy .\gen\hello-cloud-foundry-blue.mta -f --strategy blue-green
...
Operation ID: 1b313fd2-7a96-11ef-910c-eeee0a9ee328
...
No deployed MTA detected - this is initial deployment
...
Starting application "hello-cloud-foundry-srv-idle"...
Application "hello-cloud-foundry-srv-idle" started and available at "<org>-<space>-hello-cloud-foundry-srv-idle.<domain>"
...
Renaming application "hello-cloud-foundry-srv-idle" to "hello-cloud-foundry-srv"...
...
Remarque pour les utilisateurs Mac : la commande fournie utilise un format de chemin d'accès spécifique à Windows (par exemple, .)\mta_archives\hello-cloud-foundry-blue.mtar). Sur un Mac, vous devrez modifier le format du chemin d'accès au style Unix en remplaçant les barres obliques inverses (\) par des barres obliques ('/'). Par exemple, utilisez./mta_archives/hello-cloud-foundry-blue.mtar à la place.
Vérifiez si les applications sont en cours d'exécution.
Saisissez le code suivant :
cf apps
Saisissez l'itinéraire affiché pour hello-cloud-foundry-srv dans votre navigateur pour afficher la page d'ouverture CAP.
Sélectionnez $metadata pour explorer les champs de l'entité du livre.
Tâche 3: Exécution du déploiement bleu-vert de l'environnement inactif
Étapes
Modifiez la définition de l'entité.
Ouvrez le fichier db/data-model.cds dans lequel l'entité Book est définie. Cela peut ressembler à ceci :
1234567
namespace my.bookshop;
entity Books {
key ID : Integer;
title : String;
stock : Integer;
}
Ajoutez le nouveau champ PublishedDate à l'entité Livres :
12345678
namespace my.bookshop;
entity Books {
key ID : Integer;
title : String;
stock : Integer;
publishedDate : Date; // New required field
}
Créez et déployez l'environnement vert (nouvelle version).
Compilez l'archive d'applications multicible.
mbt build -t gen --mtar hello-cloud-foundry-green.mta
Déployez l'environnement vert (nouvelle version).
123456789101112131415
cf deploy .\gen\hello-cloud-foundry-green.mta -f --strategy blue-green
...
Operation ID: 34099f67-7a9b-11ef-90ea-eeee0a9a9d78
...
Renaming application "hello-cloud-foundry-srv" to "hello-cloud-foundry-srv-live"...
...
Starting application "hello-cloud-foundry-srv-idle"...
Application "hello-cloud-foundry-srv-idle" started and available at "<org>-<space>-hello-cloud-foundry-srv-idle.<domain>"
...
Process has entered testing phase. After testing your new deployment you can resume or abort the process.
Use "cf deploy -i 34099f67-7a9b-11ef-90ea-eeee0a9a9d78 -a abort" to abort the process.
Use "cf deploy -i 34099f67-7a9b-11ef-90ea-eeee0a9a9d78 -a resume" to resume the process.
Hint: Use the "--skip-testing-phase" option of the deploy command to skip this phase. Hint: Use the '--skip-testing-phase' option of the deploy command to skip this phase.
...
Tâche 4: Tester l'application verte (inactive)
Étapes
Testez l'application verte (inactive).
Vérifiez si les applications sont en cours d'exécution :
cf apps
Assurez-vous que l'application hello-cloud-foundry-srv-idle fonctionne correctement avec le nouveau champ 'PublishedDate'.
Tâche 5: Transformez l'environnement VERT en environnement de production
Dans cette tâche, vous allez passer à l'environnement VERT pour devenir le nouvel environnement de production en changeant d'itinéraire et en vérifiant le déploiement.
Étapes
Faites de l'environnement VERT l'environnement productif.
Accédez à l'ID d'opération.
cf mta-ops
Faites de l'environnement VERT l'environnement de production actif. Utilisez le code suivant :
12345678910111213
cf deploy -i 34099f67-7a9b-11ef-90ea-eeee0a9a9d78 -a resume
Executing action "resume" on operation 34099f67-7a9b-11ef-90ea-eeee0a9a9d78...
...
Updating application "hello-cloud-foundry-srv-idle"...
Stopping application "hello-cloud-foundry-srv-idle"...
Starting application "hello-cloud-foundry-srv-idle"...
Application "hello-cloud-foundry-srv-idle" started and available at "<org>-<space>-hello-cl2bbcd228.<domain>"
Renaming application "hello-cloud-foundry-srv-idle" to "hello-cloud-foundry-srv"...
Deleting routes for application "hello-cloud-foundry-srv-live"...
Stopping application "hello-cloud-foundry-srv-live"...
Deleting application "hello-cloud-foundry-srv-live"...
Process finished.
Examinez le résultat.
Vérifiez que les anciennes applications BLUE sont supprimées et que les nouvelles applications VERT sont affectées à des itinéraires productifs.
cf apps
Vérifiez que l'environnement VERT est productif et sert sur les itinéraires productifs, saisissez l'itinéraire affiché pour hello-cloud-foundry-srv dans votre navigateur et vérifiez les champs de l'entité de livre.
Tâche 6: Nettoyer les ressources
Il est recommandé d'arrêter ou d'annuler le déploiement de vos MTA lorsqu'ils ne sont plus nécessaires. Pour ce faire, exécutez la commande suivante.
Étapes
Nettoyer les ressources
Utilisez le code suivant :
cf undeploy hello-cloud-foundry --delete-services --delete-service-keys -f
Résultat
Dans cet exercice, vous avez correctement implémenté une stratégie de déploiement bleu-vert à l'aide de Cloud Foundry pour garantir aucune mise à jour des temps d'arrêt pour l'application Book Shop. Vous avez commencé par configurer l'environnement, déployer l'environnement bleu initial et vérifier sa fonctionnalité. Ensuite, vous avez mis à jour la définition d'entité dans l'environnement inactif (vert), déployé la nouvelle version et l'avez testée pour vous assurer que les modifications ont été appliquées correctement. Enfin, vous avez fait de l'environnement vert le nouvel environnement productif, assurant une transition en douceur sans perturber le service. Vous avez terminé en nettoyant les ressources pour gérer un espace de travail bien rangé.
Liens de référence/lecture ultérieure