Déploiement de groupe d'instances bleu/vert
Créez un pipeline de déploiement à l'aide de la stratégie de lancement bleu/vert pour le déploiement de groupe d'instances.
Préalables
Les préalables sont les suivants :
- Vous disposez d'un pipeline de déploiement, de deux environnements de groupe d'instances vers lesquels effectuer le déploiement et d'artefacts. Les artefacts doivent se trouver dans le registre d'artefacts.
Les artefacts peuvent être définis dans un fichier de configuration de déploiement ou il peut s'agir d'artefacts généraux. Un fichier de configuration de déploiement définit les commandes et les étapes de téléchargement de l'artefact de l'ensemble d'applications à partir du registre d'artefacts spécifié et le place dans le système de fichiers de l'instance de calcul cible.
- Un équilibreur de charge et un module d'écoute doivent être configurés dans la console pour l'acheminement du trafic. Vous pouvez également disposer d'un équilibreur de charge et d'un module d'écoute de test pour valider la nouvelle version de l'application avant de déplacer le trafic de production.
- Le plugiciel de commande d'exécution d'instance de calcul doit être activé sur l'instance et il doit être en cours d'exécution. Pour activer ce plugiciel, procédez de la façon suivante :
- Dans la console, ouvrez le menu de navigation et cliquez sur Calcul. Sous Calcul, cliquez sur Instances.
- Sélectionnez une instance du groupe vers laquelle effectuer le déploiement. Note
DevOps prend uniquement en charge les déploiements de groupe d'instances vers Oracle Linux et CentOS. - Cliquez sur l'onglet Agent Oracle Cloud.
-
Pour le plugiciel de commande d'exécution d'instance de calcul, basculez le commutateur Activer le plugiciel sur Activé.
La prise en compte de la modification peut prendre jusqu'à 10 minutes.
Attention
Une fonctionnalité qui dépend du plugiciel, comme la surveillance, l'ajustement automatique, le déploiement ou la gestion de système d'exploitation, ne fonctionne pas lorsque le plugiciel est désactivé.Attention
Pour déployer des applications à l'aide du plugiciel de commande d'exécution d'instance de calcul, vous devez configurer et tenir à jour des politiques appliquant le principe de moindre privilège. Pour plus d'informations, voir Exécution de commandes dans une instance.Pour plus d'informations sur la gestion des plugiciels, voir Gestion des plugiciels avec Oracle Cloud Agent. Pour le dépannage, voir Dépannage d'Oracle Cloud Agent.
- Vous devez être autorisé à exécuter des commandes sur l'instance. Voir la politique de gestion des identités et des accès (GIA) requise
Pour créer des groupes dynamiques et des politiques pour les pipelines de déploiement, voir Politiques de pipeline de déploiement. Pour plus de détails, voir Politiques GIA pour DevOps.
Pour accéder à DevOps à l'aide de la console Oracle Cloud, de l'API REST et de l'interface de ligne de commande, voir Accès à DevOps.
- Ouvrez le menu de navigation et cliquez sur Services de développement. Sous DevOps, cliquez sur Projets.
- Sélectionnez un projet et un pipeline de déploiement.
- Pour ajouter une étape au pipeline, cliquez sur l'icône + et sélectionnez Ajouter une étape.
- Pour le type d'étape, sélectionnez Stratégie bleu/vert, puis cliquez sur Suivant.
- Sélectionnez Groupe d'instances comme type de déploiement.
- Entrez un nom et une description pour l'étape. L'ajout d'une description est facultatif.
- Pour Environnement A, sélectionnez le groupe d'instances où l'application est déployée. Pour Environnement B, sélectionnez un autre groupe d'instances identique à l'environnement A.
- Cliquez sur Sélectionner l'artefact et sélectionnez les artefacts de configuration de déploiement de groupe d'instances disponibles à déployer.
Le fichier de configuration de déploiement définit les artefacts à télécharger dans l'instance et l'emplacement où ils doivent être copiés. Pour plus d'informations, voir Fichier de configuration de déploiement.
- (Facultatif) Cliquez sur Sélectionner un artefact pour ajouter d'autres artefacts, qui sont téléchargés dans les instances de calcul pendant le déploiement.
Ces artefacts supplémentaires ne doivent pas être insérés.
- Cliquez sur Sélectionner un équilibreur de charge.
- Sélectionnez la région et le compartiment de l'équilibreur de charge.
- Sélectionnez un équilibreur de charge dans la liste.
L'équilibreur de charge bascule le trafic entre les environnements actif et de secours lors du déploiement. Pour plus d'informations, voir Gestion de l'équilibreur de charge.
- Pour ajouter un module d'écoute à l'équilibreur de charge, cliquez sur Sélectionner un module d'écoute.
Les modules d'écoute vérifient le trafic entrant sur l'adresse IP de l'équilibreur de charge et le port du module d'écoute. Pour plus d'informations, voir Gestion des modules d'écoute.
- Entrez une valeur pour le port dorsal.
Il s'agit du port des instances où l'application est exécutée.
- (Facultatif) Sélectionnez un équilibreur de charge de test, un module d'écoute et un port dorsal pour tester la nouvelle application avant de déplacer le trafic de production.
Cela permet d'éviter tout risque d'échec du déploiement pendant la production.
- La politique de déploiement contrôle le taux et le comportement du déploiement d'instances dans l'environnement cible. Sélectionnez une des options suivantes :
- Déploiement par pourcentage : Entrez une valeur en pourcentage comprise entre 1 et 100. Cette valeur contrôle le pourcentage maximal d'instances qui sont déployées ou qui ne sont pas en cours d'exécution à un moment donné.
- Déploiement par nombre : Entrez une valeur numérique. Cette valeur contrôle le nombre maximal d'instances qui sont déployées ou qui ne sont pas en cours d'exécution à un moment donné.
- (Facultatif) Pour Durée entre deux lots, entrez une durée en secondes.
- (Facultatif) Pour ajouter des marqueurs au pipeline, cliquez sur Afficher les options de marquage. Le marquage est un système de métadonnées qui vous permet d'organiser les ressources de votre location et d'en assurer le suivi.
Si vous êtes autorisé à créer une ressource, vous êtes également autorisé à ajouter des marqueurs à structure libre à cette ressource.
Pour ajouter un marqueur défini, vous devez être autorisé à utiliser l'espace de noms de marqueur.
Pour plus d'informations, voir Marqueurs de ressource.
- Cliquez sur Suivant.
- Vous pouvez choisir de valider l'exécution du déploiement ou de ne pas valider en sélectionnant Aucun.
Sélectionnez Exécuter une logique personnalisée au moyen d'une fonction pour valider l'application en appelant une fonction. Entrez les valeurs suivantes :
- Entrez un nom et une description pour l'étape. L'ajout d'une description est facultatif.
- Pour Environnement, sélectionnez une fonction existante à appeler.
Le champ Nom de la fonction en lecture seule affiche la fonction appelée dans le pipeline.
- (Facultatif) Pour sélectionner et ajouter des artefacts à l'étape, cliquez sur Sélectionner un artefact.
Sélectionnez une ressource d'artefact existante dans votre projet DevOps. L'artefact doit être un fichier générique (universel). Les paramètres de l'artefact doivent être au format JSON et peuvent comporter des paramètres fictifs. Lors de la configuration de la ressource d'artefact DevOps, sélectionnez Autoriser le paramétrage. Si vous cochez cette case, les paramètres fictifs sont remplacés par la valeur de l'argument lors du déploiement. Pour plus d'informations, voir Configuration des paramètres.
Voici un exemple de contenu d'artefact générique pour transmettre deux paramètres définis par l'utilisateur et leurs valeurs :- Paramètres :
test_name
,app_version
- Valeurs :
{"test_name":"verify_production", "app_version":"${app_version}"}
- Paramètres :
- Pour Mode d'exécution d'étape, sélectionnez l'exécution asynchrone ou synchrone.
Si vous sélectionnez Exécuter de manière asynchrone, le service appelle la fonction mais n'attend pas qu'elle se termine. Lorsque vous sélectionnez Exécuter de manière synchrone, le service appelle la fonction et attend qu'elle se termine.
- Cochez cette case pour désactiver ou activer la validation.
Si la validation est activée, le service vérifie la valeur retournée par la fonction. La valeur retournée est un littéral de chaîne UTF-8,
true
oufalse
. Si la valeur retournée esttrue
, l'étape est marquée comme Réussite. Sinon, elle est marquée comme échec.Si la validation est désactivée, le service ne vérifie pas la valeur retournée.
La validation n'est effectuée que si vous avez sélectionné l'option "Exécuter de manière synchronisée" pour le mode d'exécution de l'étape.
- (Facultatif) Pour ajouter des marqueurs au pipeline, cliquez sur Afficher les options de marquage. Le marquage est un système de métadonnées qui vous permet d'organiser les ressources de votre location et d'en assurer le suivi.
Vous pouvez sélectionner un espace de noms de marqueur ou ajouter un marqueur à structure libre. Entrez la clé et la valeur de marqueur correspondantes. Vous pouvez ajouter plusieurs marqueurs.
- Vous pouvez activer ou désactiver une approbation manuelle pour le déploiement. Pour activer une approbation, entrez les valeurs suivantes :
- Entrez un nom et une description pour l'étape. L'ajout d'une description est facultatif.
- Entrez le nombre d'approbateurs.
- (Facultatif) Pour ajouter des marqueurs au pipeline, cliquez sur Afficher les options de marquage. Le marquage est un système de métadonnées qui vous permet d'organiser les ressources de votre location et d'en assurer le suivi.
Vous pouvez sélectionner un espace de noms de marqueur ou ajouter un marqueur à structure libre. Entrez la clé et la valeur de marqueur correspondantes. Vous pouvez ajouter plusieurs marqueurs.
- Pour ajouter l'étape au pipeline, cliquez sur Ajouter.
Une fenêtre modale s'ouvre, affichant le statut des différentes configurations d'étape qui font partie de la stratégie de déploiement de groupe d'instances bleu/vert. Parmi ces étapes figurent le déploiement de groupe d'instances bleu/vert, l'appel de fonction, l'approbation et le déplacement du trafic. Si la validation échoue, vous pouvez vérifier le message d'erreur propre à chaque étape ayant échoué et prendre des mesures correctives.
Si la validation réussit, vous pouvez exécuter le pipeline de déploiement ou ajouter d'autres étapes séquentiellement ou en parallèle au pipeline, si nécessaire.
Pour créer une étape bleu/vert de groupe d'instances, exécutez la commande
create-deploy-compute-instance-group-blue-green-stage
:oci devops deploy-stage create-deploy-compute-instance-group-blue-green-stage
Paramètres requis :
--environment-id-a
--environment-id-b
--deployment-spec-artifact-id
--rollout-policy
--pipeline-id
--production-load-balancer-config
--stage-predecessor-collection
Pour obtenir de l'aide sur cette commande :
oci devops deploy-stage create-compute-instance-group-blue-green-stage -h
Pour créer une étape de déplacement de trafic bleu/vert de groupe d'instances, exécutez la commande
create-compute-instance-group-blue-green-traffic-shift-stage
:oci devops deploy-stage create-compute-instance-group-blue-green-traffic-shift-stage
Paramètres requis :
--compute-instance-group-blue-green-stage-id
--pipeline-id
--stage-predecessor-collection
Pour obtenir de l'aide sur cette commande :
oci devops deploy-stage create-compute-instance-group-blue-green-traffic-shift-stage -h
Pour créer une étape d'appel de fonction, exécutez la commande
create-invoke-function-stage
:oci devops deploy-stage create-invoke-function-stage
Paramètres requis :
--function-environment-id
--is-async
--is-validation-enabled
--pipeline-id
--stage-predecessor-collection
Pour obtenir de l'aide sur cette commande :
oci devops deploy-stage create-invoke-function-stage -h
Pour créer une étape de déplacement de trafic d'équilibreur de charge, exécutez la commande
create-load-balancer-traffic-shift-stage
:oci devops deploy-stage create-load-balancer-traffic-shift-stage
Paramètres requis :
--blue-backend-ips
--green-backend-ips
--load-balancer-config
--traffic-shift-target
--rollout-policy
--pipeline-id
--stage-predecessor-collection
Pour obtenir de l'aide sur cette commande :
oci devops deploy-stage create-load-balancer-traffic-shift-stage -h
Pour créer une étape d'approbation manuelle, exécutez la commande
create-manual-approval-stage
:oci devops deploy-stage create-manual-approval-stage
Paramètres requis :
--approval-policy
--pipeline-id
--stage-predecessor-collection
Pour obtenir de l'aide sur cette commande :
oci devops deploy-stage create-manual-approval-stage -h
Pour afficher toutes les commandes pour
deploy-stage
:oci devops deploy-stage -h
Pour créer une étape, utilisez l'opération
CreateDeployStage
. Selon les étapes à ajouter au pipeline, sélectionnez les valeurs suivantes pour le type d'étape :- Étape de déploiement bleu/vert de groupe d'instances de calcul :
COMPUTE_INSTANCE_GROUP_BLUE_GREEN_DEPLOYMENT
- Étape de déplacement de trafic bleu/vert de groupe d'instances de calcul :
COMPUTE_INSTANCE_GROUP_BLUE_GREEN_TRAFFIC_SHIFT
- Étape d'appel de fonction :
INVOKE_FUNCTION
- Étape d'approbation manuelle :
MANUAL_APPROVAL
- Étape de déploiement bleu/vert de groupe d'instances de calcul :