Utilisation

Vérification des images Dokos et notifications en cas d'échec

Guide pour les administrateurs système sur la vérification automatique des images Dokos après leur construction et la configuration des notifications en cas d'échec.

Vérification des images Dokos et notifications en cas d'échec

Dokos intègre un mécanisme de vérification automatique des images Docker après leur construction dans le cadre de son pipeline CI/CD. Ce processus permet de s'assurer que les images générées sont fonctionnelles et de notifier les administrateurs en cas d'échec.

Processus de vérification

Après la construction d'une image Dokos dans le pipeline GitLab CI, les étapes suivantes sont exécutées automatiquement :

  1. Vérification de l'image : L'image Docker est lancée pour confirmer qu'elle démarre correctement.
  2. Tests de santé : Des requêtes sont effectuées pour vérifier que les services essentiels (comme le serveur web) répondent.
  3. Journalisation : Les logs de démarrage sont analysés pour détecter d'éventuelles erreurs.

Si l'une de ces étapes échoue, le pipeline est marqué comme échoué et une notification est envoyée.

Configuration des notifications

Les notifications en cas d'échec de construction ou de vérification des images sont envoyées via les canaux configurés dans GitLab. Voici comment personnaliser ces notifications :

1. Configurer les destinataires

Pour recevoir les notifications, vous devez configurer les destinataires dans le fichier .gitlab-ci.yml :

notifications:
  email:
    to:
      - admin@votredomaine.com
      - equipe-dev@votredomaine.com

2. Personnaliser le message de notification

Le message de notification peut être personnalisé pour inclure des informations spécifiques à votre environnement. Voici un exemple de configuration :

notify_failure:
  script:
    - |
      echo "La construction de l'image Dokos a échoué. Consultez les logs du pipeline pour plus de détails : $CI_PIPELINE_URL" | mail -s "[Dokos] Échec de la construction de l'image" $NOTIFICATION_EMAILS

3. Intégration avec des outils externes

Vous pouvez également configurer des intégrations avec des outils comme Slack ou Mattermost pour recevoir les notifications directement dans vos canaux de communication :

notify_slack:
  script:
    - curl -X POST -H 'Content-type: application/json' --data "{\"text\":\"La construction de l'image Dokos a échoué. Consultez les logs : $CI_PIPELINE_URL\"}" $SLACK_WEBHOOK_URL

Bonnes pratiques

  • Surveillance proactive : Configurez des alertes pour être informé immédiatement en cas d'échec.
  • Journalisation : Conservez les logs des pipelines pour faciliter le débogage.
  • Tests réguliers : Vérifiez périodiquement que les notifications fonctionnent en simulant un échec.

Exemple de configuration complète

Voici un extrait du fichier .gitlab-ci.yml illustrant la configuration de la vérification des images et des notifications :

check_image:
  stage: test
  script:
    - docker run -d --name dokos_test $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
    - sleep 30
    - docker exec dokos_test curl -s http://localhost:8000/api/method/ping || exit 1
    - docker logs dokos_test > build.log
    - grep -q "Site dokos initialized" build.log || exit 1
  after_script:
    - docker stop dokos_test && docker rm dokos_test

notify_failure:
  stage: .post
  script:
    - |
      if [ $CI_JOB_STATUS == "failed" ]; then
        echo "La vérification de l'image Dokos a échoué. Pipeline : $CI_PIPELINE_URL" | mail -s "[Dokos] Échec de la vérification de l'image" admin@votredomaine.com
      fi
  when: on_failure

Dépannage

Si les notifications ne sont pas reçues :

  • Vérifiez que les adresses e-mail ou les webhooks sont correctement configurés.
  • Consultez les logs du job notify_failure dans GitLab CI pour identifier les erreurs.
  • Assurez-vous que le serveur SMTP ou l'outil externe (Slack, Mattermost) est accessible depuis le runner GitLab.