Flux de travail GitOps¶
Pour faciliter l'utilisation de certaines fonctionnalités de Caascad, des flux de travaux GitOps entièrement automatisés sont mis en place dans l'environnement d'administration du client.
Les fonctionnalités disponibles pour l'utilisation de ces flux de travaux sont :
monitoring-vm
: contrôle le déploiement de toutes les configurations nécessaires à la surveillance des machines virtuelles. Plus d'informations sur cette fonctionnalité spécifique à l'environnement du client ici.grafana-dashboards
: contrôle le déploiement de tableaux de bord optionnels qui sont maintenus par les équipes Caascad. Plus d'informations sur cette fonctionnalité globale ici.
Note
Dans ce tutoriel, veuillez remplacer les valeurs suivantes :
ZONE_NAME
avec le nom de la zone d'administration (il commence parocb-
).CUSTOMER_ENVIRONMENT
avec le nom de l'environnement client cible.
Dépôts Git¶
Pour stocker les fichiers de configuration de ces fonctionnalités, plusieurs dépôts Git sont fournis dans votre instance Git.
https://git.ZONE_NAME.caascad.com/caascad-samples/configurations
Contient des fichiers d'exemples pour toutes les fonctionnalités disponibles dans le flux de travail GitOps.
https://git.ZONE_NAME.caascad.com/caascad-global/configurations
Ce dépôt stocke les configurations des fonctionnalités globales comme grafana-dashboards
.
https://git.ZONE_NAME.caascad.com/caascad-CUSTOMER_ENVIRONMENT/configurations
Ces dépôts (un pour chaque CUSTOMER_ENVIRONMENT) stockent les configurations des fonctionnalités spécifiques à l'environnement du client comme monitoring-vm
.
Comment¶
Pour chaque fonctionnalité globale ou spécifique à l'environnement du client, le flux de travail GitOps implémenté fonctionne de la même manière.
Voici la description des étapes à suivre.
-
Créer une nouvelle branche à partir de master
Notez que dans chaque dépôt la branche
master
est protégée par défaut, donc seules les demandes d'ajout validées peuvent être fusionnées dans la branche master. -
Créer le fichier
<nom_de_la_fonction>.yaml
.Des exemples de fichiers de configuration pour chaque fonctionnalité peuvent être trouvés dans le dépôt
caascad-samples/configurations
. -
Commiter dans une nouvelle branche et créer une nouvelle demande d'ajout vers la branche master.
Un pipeline d'intégration continue interne sera déclenché : il vérifiera le fichier de configuration et ajoutera un commentaire dans votre demande d'ajout avec le résultat de la validation.
Si tout est correct, vous verrez ces commentaires dans la demande d'ajout (exemple avec la fonctionnalité
monitoring-vm
) :Si la validation échoue, vous verrez ces commentaires dans la demande d'ajout : .
Une demande d'ajout qui n'a pas été validée par le CI n'est pas fusionnable.
Tip
Si vous ne voyez pas ce message
Started validation job for <feature_name>
, modifiez votre commit pour mettre à jour votre demande d'ajout. -
Faites des corrections si nécessaire et mettez à jour votre branche
-
Fusionnez la demande d'ajout dans master
Un pipeline de déploiement continu interne sera déclenché : il déploie toutes les configurations nécessaires et ajoute un commentaire dans la pull request avec le résultat du déploiement.
Si tout s'est bien passé, vous verrez ces commentaires dans la demande d'ajout (exemple avec la fonctionnalité
monitoring-vm
) :Dans le cas contraire, vous verrez ces commentaires dans la demande d'ajout : .
Tip
Si le déploiement échoue, et que le problème a été identifié et corrigé, vous pouvez faire un commit sans modification en faisant
git commit --allow-empty -m "Trigger job for <feature_name>.yaml"
et re-parcourir le flux de travail (demande d'ajout, fusion).