Tests continus et CI/CD

Cette page explique comment exécuter des tests continus dans vos pipelines d'intégration continue (CI) et de livraison continue (CD). Si vous souhaitez intégrer vos métriques et données de CI/CD dans des dashboards Datadog, consultez plutôt la section CI Visibility.

Présentation

En plus d’exécuter des tests à des intervalles prédéfinis, vous avez la possibilité de réutiliser vos tests Synthetic Datadog et de les exécuter quand bon vous semble à l’aide du package @datadog/datadog-ci ou de l’API. Exécutez des tests continus Datadog dans vos pipelines d’intégration continue (CI) pour bloquer le déploiement des branches susceptibles de nuire au bon fonctionnement de votre application en production.

Cette solution vous permet également d’exécuter des tests dans le cadre de votre processus de livraison continue (CD) et d’évaluer l’état de vos applications et services en production dès la fin d’un déploiement ou dès la publication d’une nouvelle version. Vous pouvez ainsi détecter les régressions potentielles susceptibles d’avoir un impact sur vos utilisateurs et déclencher automatiquement un rollback si un test critique échoue.

Cette fonctionnalité accélère la correction des problèmes en production en vous permettant dès le départ d’identifier de manière proactive et anticipée les bugs et régressions. Au lieu de perdre leur temps à corriger ces problèmes, vos équipes d’ingénieries peuvent ainsi se concentrer sur des tâches non urgentes.

Pour profiter de ces avantages, consultez les intégrations et utilisez l’API ou le package de l’interface de ligne de commande open source.

Intégrations

Les tests continus et le CI/CD vous permettent d'exécuter des tests dans la plateforme de CI tierce de votre choix. Consultez la documentation pour en savoir savoir plus sur les intégrations suivantes ou sur le package NPM datadog-ci :


Utiliser l’interface de ligne de commande

Le package @datadog/datadog-ci vous permet d’exécuter des tests continus directement dans votre pipeline CI/CD. Pour utiliser le package NPM @datadog/datadog-ci, consultez la section Configuration.

Vous pouvez déclencher des tests en les recherchant à l’aide de tags. Exemple : "ci": "datadog-ci synthetics run-tests --config fileconfig.json -s 'tag:staging'". Cette commande fonctionne comme un argument ; ne l’utilisez pas dans vos fichiers de configuration.

Utiliser l’API

Les endpoints d’API Synthetics vous permettent de lancer des tests à n’importe quelle étape de votre cycle de préproduction et de déploiement, par exemple après un déploiement Canary avec un rollback automatisé.

Grâce aux endpoints d’API, vous pouvez vérifier rapidement qu’un nouveau déploiement n’entraîne pas de nouvelle régression. Consultez la documentation relative aux endpoints Trigger tests from CI/CD pipelines et Get details of batch pour les utiliser dans vos pipelines de CI via cURL ou un client compatible.

Déclencher des tests à partir de pipelines de CI/CD

L’endpoint de déclenchement de tests prend en charge jusqu’à 100 tests par requête.

  • Endpoint : https://api./api/v1/synthetics/tests/trigger/ci.
  • Méthode : POST.
  • Argument : un objet JSON contenant la liste de tous les tests à déclencher et la configuration à appliquer.

Structure de données des requêtes

{
    "tests": [TEST_À_DÉCLENCHER, TEST_À_DÉCLENCHER, ...]
}

Les objets TEST_TO_TRIGGER sont composés du public_id requis pour le test à déclencher, ainsi que des éventuels remplacements de configuration. Pour obtenir la description de chaque champ, consultez la rubrique Configurer des tests.

L’identifiant public d’un test correspond à l’identifiant du test fourni dans l’URL de la page de détails du test (par exemple, pour https://app.datadoghq.com/synthetics/details/abc-def-ghi, l’identifiant est abc-def-ghi) ou à l’URL complète de cette page (c’est-à-dire https://app.datadoghq.com/synthetics/details/abc-def-ghi).

Pour en savoir plus, consultez la documentation relative aux endpoints d’API Synthetics.

Récupérer les détails d’un lot

L’endpoint Get details of batch récupère les résultats du groupe de tests déclenchés dans votre pipeline de CI/CD (également désigné par le terme « batch »). Vous devez fournir le batch_id de l’exécution CI pertinente.

  • Endpoint : https://api./api/v1/synthetics/ci/batch/{batch_id}
  • Méthode : GET.
  • Paramètres : le batch_id du batch de résultats de test à examiner.

Pour en savoir plus, consultez la documentation relative aux endpoints d’API Synthetics.

Pour aller plus loin