Continuous Testing et CircleCI Orb
Présentation

Exécutez des tests Synthetic Datadog dans vos pipelines CircleCI à l’aide de l’orb CircleCI Datadog.
Pour plus d’informations sur la configuration disponible, consultez la documentation datadog-ci synthetics run-tests.
Configuration
Pour commencer :
- Ajoutez vos clés d’API et d’application Datadog en tant que variables d’environnement à votre projet CircleCI.
- Vérifiez que l’image exécutant l’orb est une image basée sur Linux x64 avec
curl installé. - Personnaliser votre workflow CircleCI en ajoutant une étape
synthetics-ci/run-tests et en spécifiant des entrées comme indiqué ci-dessous.
Vous pouvez utiliser un workflow simple ou complexe.
Utilisation simple
Exemple d’utilisation de l’orbe avec des ID publics
version: 2.1
orbs:
synthetics-ci: datadog/synthetics-ci-orb@5.3.0
jobs:
e2e-tests:
docker:
- image: cimg/base:stable
steps:
- synthetics-ci/run-tests:
public_ids: |
abc-d3f-ghi
jkl-mn0-pqr
workflows:
run-tests:
jobs:
- e2e-tests
Exemple d’utilisation de l’orbe avec un remplacement de la configuration globale
Cet orb remplace le chemin vers le motif pour les fichiers de test.
version: 2.1
orbs:
synthetics-ci: datadog/synthetics-ci-orb@5.3.0
jobs:
e2e-tests:
docker:
- image: cimg/base:stable
steps:
- synthetics-ci/run-tests:
files: e2e-tests/*.synthetics.json
workflows:
run-tests:
jobs:
- e2e-tests
Pour un autre exemple de pipeline qui déclenche des tests Synthetic, consultez le fichier simple-example.yml.
Utilisation complexe
Exemple d’utilisation de l’orbe avec une requête test_search_query
version: 2.1
orbs:
synthetics-ci: datadog/synthetics-ci-orb@5.3.0
jobs:
e2e-tests:
docker:
- image: cimg/base:stable
steps:
- synthetics-ci/run-tests:
test_search_query: 'tag:e2e-tests'
workflows:
run-tests:
jobs:
- e2e-tests
version: 2.1
orbs:
synthetics-ci: datadog/synthetics-ci-orb@5.3.0
jobs:
e2e-tests:
docker:
- image: your-image
steps:
- checkout
- run:
name: Running server in background
command: npm start
background: true
- synthetics-ci/run-tests:
config_path: tests/tunnel-config.json
files: tests/*.synthetics.json
test_search_query: 'tag:e2e-tests'
tunnel: true
workflows:
test-server:
jobs:
- build-image
- integration-tests:
requires:
- build-image
Pour des options supplémentaires telles que la personnalisation du batchTimeout pour vos pipelines CircleCI, consultez la section Configuration des intégrations CI/CD. Pour un autre exemple de pipeline qui démarre un serveur local et déclenche des tests Synthetic à l’aide du tunnel Continuous Testing, consultez le fichier advanced-example.yml.
Paramètres
Pour plus d’informations sur la configuration disponible, consultez la documentation datadog-ci synthetics run-tests.
| Nom | Rôle |
|---|
api_key | Nom de la variable d’environnement contenant votre clé d’API Datadog. Cette clé est créée dans votre organisation Datadog et doit être stockée en tant que secret. Par défaut : DATADOG_API_KEY |
app_key | Nom de la variable d’environnement contenant votre clé d’application Datadog. Cette clé est créée dans votre organisation Datadog et doit être stockée en tant que secret. Par défaut : DATADOG_APP_KEY |
background | Indique si cette étape doit s’exécuter en arrière-plan ou non. Consultez la documentation officielle CircleCI. Par défaut : false |
batch_timeout | Spécifie la durée du délai d’expiration en millisecondes pour le batch CI. Lorsqu’un batch expire, la tâche CI échoue et aucune nouvelle exécution de test n’est déclenchée, mais les exécutions de test en cours se terminent normalement. Par défaut : 1800000 (30 minutes) |
config_path | Le chemin vers le fichier de configuration globale qui configure datadog-ci. Par défaut : datadog-ci.json |
datadog_site | Votre site Datadog. Les valeurs possibles sont répertoriées dans ce tableau. Par défaut : datadoghq.com
Définissez-le sur (assurez-vous que le SITE correct est sélectionné à droite). |
fail_on_critical_errors | Faire échouer la tâche CI si une erreur critique généralement transitoire se produit, telle que des limitations de débit, des échecs d’authentification ou des problèmes d’infrastructure Datadog. Par défaut : false |
fail_on_missing_tests | Faire échouer la tâche CI si la liste des tests à exécuter est vide ou si certains tests explicitement répertoriés sont manquants. Par défaut : false |
fail_on_timeout | Faire échouer la tâche CI si le batch CI échoue en raison d’un délai d’expiration. Par défaut : true |
files | Motifs glob pour détecter les fichiers de configuration de test Synthetic, séparés par des sauts de ligne. Par défaut : {,!(node_modules)/**/}*.synthetics.json |
junit_report | Le nom de fichier d’un rapport JUnit si vous souhaitez en générer un. Par défaut : aucun |
locations | Remplacer la liste des emplacements à partir desquels exécuter le test, séparés par des sauts de ligne ou des virgules. Les valeurs possibles sont répertoriées dans cette réponse d’API. Par défaut : aucun |
no_output_timeout | Temps écoulé pendant lequel la commande peut s’exécuter sans sortie. La chaîne est un décimal avec un suffixe d’unité, tel que 20m, 1.25h, 5s. Consultez la documentation officielle CircleCI. Par défaut : 35m |
public_ids | ID publics des tests Synthetic à exécuter, séparés par des sauts de ligne ou des virgules. Si aucune valeur n’est fournie, les tests sont découverts dans les fichiers de configuration de test Synthetic. Par défaut : aucun |
selective_rerun | Indique s’il faut uniquement réexécuter les tests ayant échoué. Si un test a déjà réussi pour un commit donné, il n’est pas réexécuté dans les batchs CI suivants. Par défaut, le paramètre par défaut de votre organisation est utilisé. Définissez-le sur false pour forcer des exécutions complètes lorsque votre configuration l’active par défaut. Par défaut : aucun |
subdomain | Le sous-domaine personnalisé pour accéder à votre organisation Datadog. Si votre URL est myorg.datadoghq.com, le sous-domaine personnalisé est myorg. Par défaut : app |
test_search_query | Utilisez une requête de recherche pour sélectionner les tests Synthetic à exécuter. Utilisez la barre de recherche de la page de liste des tests Synthetic pour élaborer votre requête, puis copiez-la et collez-la. Par défaut : aucun |
tunnel | Utilisez le tunnel Continuous Testing pour lancer des tests contre des environnements internes. Par défaut : false |
variables | Remplacez les variables locales et globales existantes ou injecter de nouvelles variables dans les tests Synthetic sous forme de paires clé-valeur, séparées par des sauts de ligne ou des virgules. Par exemple : START_URL=https://example.org,MY_VARIABLE=My title. Par défaut : aucun |
Pour aller plus loin
Documentation, liens et articles supplémentaires utiles :