Jenkins

Présentation

Ajoutez des tests Synthetic à votre environnement Jenkins.

Datadog vous conseille d’échanger avec vos équipes SRE et Infrastructure afin d’identifier une solution qui s’adapte à votre architecture Jenkins existante et personnalise une installation de façon à répondre à vos besoins métier.

Configuration

Pour utiliser Docker dans votre environnement Jenkins, consultez la section Utiliser Docker avec un pipeline (en anglais).

Prérequis

  • Node.js v10.24.1+
  • Un fichier de configuration globale JSON ajouté à votre instance Jenkins par l’intermédiaire de l’outil Config File Provider. Ce fichier est requis pour définir des propriétés globales pour votre configuration de test Synthetic.

Vous pouvez stocker des variables d’environnement directement dans votre fichier de configuration globale ou utiliser des identifiants. Pour en savoir plus sur les configurations de test, consultez la rubrique Configurer des tests.

Exécuter le package @datadog/datadog-ci

Installez et exécutez les packages NPM et Node.js dans votre environnement Jenkins avec le plug-in Jenkins Node.js.

Pour en savoir plus sur l’intégration Datadog/Jenkins existante, consultez la section Configurer le tracing sur un pipeline Jenkins.

Ajouter une installation Node.js

Accédez au volet de configuration globale de Jenkins, puis ajoutez une installation Node.js.

Installations Node.js dans Jenkins

Installez @datadog/datadog-ci de façon globale pour toutes les installations Node.js pertinentes.

Tags

Pour exécuter des tests Synthetic avec des tags dans un pipeline déclaratif Jenkins, utilisez ce qui suit :

pipeline {
   agent any
   stages {
       stage('Run e2e tests') {
           steps {
               withCredentials([string(credentialsId: 'datadog-api-key', variable: 'DATADOG_API_KEY'), string(credentialsId: 'datadog-app-key', variable: 'DATADOG_APP_KEY')]) {
                   nodejs(nodeJSInstallationName: 'Node 10.24.x') {
                       configFileProvider(
                           [configFile(fileId: 'config-file-id', variable: 'DATADOG_CI_CONFIG')]) {
                           sh 'datadog-ci synthetics run-tests -s "tag:e2e" --config $DATADOG_CI_CONFIG'
                       }
                   }
               }  
           }
       }
   }

Fichier de test personnalisé

Pour exécuter des tests Synthetic avec un fichier de test personnalisé dans un pipeline déclaratif Jenkins, utilisez ce qui suit :

pipeline {
   agent any
   stages {
       stage('Run e2e tests') {
           steps {
               withCredentials([string(credentialsId: 'datadog-api-key', variable: 'DATADOG_API_KEY'), string(credentialsId: 'datadog-app-key', variable: 'DATADOG_APP_KEY')]) {
                   nodejs(nodeJSInstallationName: 'Node 10.24.x') {
                       configFileProvider(
                           [configFile(fileId: 'config-file-id', variable: 'DATADOG_CI_CONFIG'), configFile(fileId: 'test-file-id', variable: 'DATADOG_CI_TEST_FILE')]) {
                           sh 'datadog-ci synthetics run-tests -f $DATADOG_CI_TEST_FILE --config $DATADOG_CI_CONFIG'
                       }
                   }
               }  
           }
       }
   }
}

Vous devriez obtenir une sortie similaire à ce qui suit :

Exemple d'exécution de test dans Jenkins

Pour aller plus loin