Démarrage :
Créez un nouveau projet sur GitLab.com ou sur votre propre serveur GitLab. Naviguez vers Paramètres > Moniteur dans la barre latérale de votre projet, puis développez la section « Suivi des erreurs ». Activez la case à cocher sous « Enable error tracking ». Assurez-vous que le bouton radio « Error tracking backend » est réglé sur « GitLab ». Cliquez sur le bouton bleu « Enregistrer les modifications » pour continuer.
La page se recharge. Vous pouvez maintenant développer à nouveau la section « Suivi des erreurs » pour révéler votre chaîne DSN. Cette URL est utilisée pour configurer votre bibliothèque client Sentry pour envoyer des événements au serveur GitLab.
Configuration du client
Vous pouvez maintenant ajouter Sentry à votre code. Voici un exemple de base utilisant la bibliothèque client Sentry officielle pour Node.js. Vous pouvez installer le paquet en exécutant npm install @sentry/node. La documentation sur tous les clients disponibles est disponible auprès de Sentry.
const sentry = require(« @sentry/node ») ;
sentry.init({
dsn : « https://[email protected]/api/v4/error_tracking/collector/1 »
}) ;
Remplacez la valeur DSN par la chaîne que vous avez copiée depuis l’interface utilisateur de GitLab. La partie située avant le @ est un jeton d’authentification spécial qui permet d’accéder au serveur GitLab. Le reste est constitué du point de terminaison unique de l’API d’ingestion de suivi des erreurs pour votre projet.
Tester votre intégration
Les bibliothèques clientes officielles de Sentry commencent à capturer les erreurs non gérées dès qu’elles sont configurées avec un DSN. Si un code suivant lance une erreur que vous n’attrapez pas, l’événement sera signalé à votre serveur GitLab.
Vous pouvez tester l’intégration en capturant manuellement les événements. Voici un exemple qui crée et signale une Errorinstance :
Sentry.captureException(new Error(« Sentry test »)) ;
Utilisez la barre latérale de votre projet dans l’interface web de GitLab pour naviguer vers la page Moniteur > Suivi des erreurs. L’erreur que vous avez capturée devrait apparaître dans la liste. Cliquez sur son entrée pour afficher le rapport complet et la trace de pile.
Les problèmes GitLab peuvent être créés à partir des rapports en utilisant le bouton bleu « Create issue » en haut à droite. Cela vous permet d’attribuer le travail de remédiation aux membres de l’équipe et de lancer une discussion sur le problème. Le problème conservera un lien vers le rapport d’erreur et la trace de la pile s’affichera en ligne sous la description du problème.
Une fois que vous avez terminé de corriger un problème, utilisez la page de suivi des erreurs pour le marquer comme résolu. Les problèmes peuvent également être ignorés si vous n’avez pas l’intention d’y remédier, peut-être parce qu’ils étaient transitoires ou enregistrés par un client obsolète.
Limitations
Le backend Sentry intégré de GitLab est actuellement destiné aux situations à petite échelle où le déploiement de Sentry est considéré comme trop complexe ou inutile. La plateforme complète de Sentry est un vaste système qui peut prendre du temps à configurer et à maintenir. L’intégration de GitLab se résume à une simple case à cocher dans les paramètres de votre projet, mais cette simplicité a un coût.
La liste de suivi des erreurs est votre seule vue dans les rapports. Vous ne pouvez pas actuellement les représenter graphiquement, voir les changements dans les volumes de rapports dans le temps, ou filtrer par utilisateurs ou clients individuels. Les informations détaillées affichées par l’interface utilisateur de Sentry, telles que les données du navigateur et du serveur, ne sont actuellement pas prises en charge ou affichées dans GitLab.
Vous devez également savoir que GitLab ne peut pas encore envoyer de courriels pour les nouveaux rapports d’erreur. Vous devez surveiller manuellement la page de suivi des erreurs pour rester au courant des événements générés par vos déploiements.
Comme GitLab met en œuvre les principales fonctionnalités de l’API Sentry, il est compatible avec la plupart des principaux SDK et bibliothèques client. Depuis la version 14.5 de GitLab, il est confirmé qu’il fonctionne avec Ruby, JavaScript, Java et Python ; d’autres langages sont partiellement pris en charge ou seront ajoutés dans les futures versions de GitLab.
Résumé
Le backend Sentry de GitLab offre un moyen simple de capturer les rapports d’erreur de votre application et de les stocker avec votre code. Bien que ses limitations actuelles le rendent inadapté à tous les cas d’utilisation, sauf les plus simples, il reste une option intéressante pour les petits sites et les projets personnels qui n’ont pas besoin de la complexité d’un service Sentry complet.
Le backend intégré peut également être utile pour tester l’intégration de Sentry avec votre code. Si vous mettez en place un nouveau client, ou si vous modifiez les paramètres d’un client existant, vous pouvez utiliser votre serveur GitLab comme backend temporaire afin de ne pas polluer votre déploiement Sentry principal.
Le composant de suivi des erreurs de GitLab est toujours en développement et devrait être étendu au cours des étapes suivantes. Cela devrait le voir évoluer vers une option plus complète qui peut remplacer Sentry autonome dans un ensemble plus large d’environnements.