Aller au contenu

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 par ocb-).
  • 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).