Tests continus et extension Datadog CI d'Azure DevOps

Version du marketplace Visual\u00a0Studio Statut du build Licence

Présentation

L’extension Datadog CI d’Azure DevOps vous permet d’exécuter des tests Synthetic au sein de la configuration de votre pipeline Azure et de veiller à ce que toutes vos équipes Azure DevOps puissent utiliser les tests Synthetic durant chaque étape du cycle de développement logiciel. Vous pouvez exécuter SyntheticsRunTests en tant que tâche.

Authentification

Connexion de service

Pour vous connecter à votre site Datadog, Datadog vous conseille de configurer une connexion de service personnalisée lors de la configuration de la tâche Synthetics Run Test.

Vous devez fournir les informations suivantes :

  • Datadog site : le site Datadog auquel se connecter.
  • Custom subdomain (valeur par défaut : app) : le nom du sous-domaine personnalisé permettant d’accéder à votre application Datadog. Si l’URL utilisée pour accéder à Datadog est myorg.datadoghq.com, cette valeur doit être définie sur myorg.
  • API Key : votre clé d’API Datadog. Elle est créée par votre organisation Datadog.
  • Application key : votre clé d’application Datadog. Elle est créée par votre organisation Datadog.

Clés d’API et d’application

  • API Key : votre clé d’API Datadog. Elle est créée par votre organisation Datadog et accessible via une variable d’environnement.
  • Application key : votre clé d’Application Datadog. Elle est créée par votre organisation Datadog et accessible via une variable d’environnement.
  • Datadog site : le site Datadog.
  • Custom subdomain (facultatif) : le nom du sous-domaine personnalisé permettant d’accéder à votre application Datadog. Si l’URL utilisée pour accéder à Datadog est myorg.datadoghq.com, cette valeur doit être définie sur myorg.

Configuration

Pour associer votre compte Datadog, créez une connexion de service Datadog CI dans le projet regroupant vos pipelines Azure. Une fois cette connexion créée, vous avez uniquement besoin d’indiquer son nom dans les tâches.

  1. Installez l’extension Datadog CI depuis le marketplace Visual Studio au sein de votre organisation Azure.
  2. Ajoutez vos clés d’API et d’application Datadog dans la connexion de service Datadog CI ou en tant que secrets dans le projet regroupant vos pipelines Azure.
  3. Dans votre pipeline Azure DevOps, utilisez la tâche SyntheticsRunTests.

Cette tâche peut être simple ou complexe.

Utilisation simple

Exemple de tâche utilisant des ID publics

- task: SyntheticsRunTests@0
  displayName: Run Datadog Synthetics tests
  inputs:
    authenticationType: 'connectedService'
    connectedService: 'my-datadog-ci-connected-service'
    publicIds: |
      abc-d3f-ghi
      jkl-mn0-pqr      

Exemple de tâche utilisant des fichiers synthetics.json existants

- task: SyntheticsRunTests@0
  displayName: Run Datadog Synthetics tests
  inputs:
    authenticationType: 'connectedService'
    connectedService: 'my-datadog-ci-connected-service'
    files: 'e2e-tests/*.synthetics.json'

Exemple de tâche utilisant des secrets de pipeline pour l’authentification

- task: SyntheticsRunTests@0
  inputs:
    authenticationType: 'apiAppKeys'
    apiKey: '$(DatadogApiKey)'
    appKey: '$(DatadogAppKey)'
    subdomain: 'myorg'
    datadogSite: 'datadoghq.eu'

Utilisation complexe

Exemple de tâche utilisant une requête testSearchQuery

- task: SyntheticsRunTests@0
  displayName: Run Datadog Synthetics tests
  inputs:
    authenticationType: 'connectedService'
    connectedService: 'my-datadog-ci-connected-service'
    testSearchQuery: 'tag:e2e-tests'
    variables: |
      START_URL=https://staging.website.com
      PASSWORD=$(StagingPassword)      

Exemple de tâche utilisant une requête testSearchQuery et des remplacements de variables

- task: SyntheticsRunTests@0
  displayName: Run Datadog Synthetics tests
  inputs:
    authenticationType: 'connectedService'
    connectedService: 'my-datadog-ci-connected-service'
    testSearchQuery: 'tag:e2e-tests'

Exemple de tâche utilisant un remplacement de la configuration globale avec configPath

- task: SyntheticsRunTests@0
  displayName: Run Datadog Synthetics tests
  inputs:
    authenticationType: 'connectedService'
    connectedService: 'my-datadog-ci-connected-service'
    configPath: './synthetics-config.json'

Paramètres

NamePrérequisDescription
authenticationTypeobligatoireLe type d’authentification utilisé par Datadog, à savoir connectedService ou apiAppKeys.
connectedServicefacultatifLe nom de la connexion de service Datadog CI à utiliser, pour une configuration avec le type d’authentification connectedService.
apiKeyfacultatifVotre clé d’API Datadog, pour une configuration avec le type d’authentification apiAppKeys. Cette clé est créée par votre organisation Datadog et doit être stockée en tant que secret.
appKeyfacultatifVotre clé d’application Datadog, pour une configuration avec le type d’authentification apiAppKeys. Cette clé est créée par votre organisation Datadog et doit être stockée en tant que secret.
subdomainfacultatifLe nom du sous-domaine personnalisé permettant d’accéder à votre application Datadog, pour une configuration avec le type d’authentification apiAppKeys. Si l’URL utilisée pour accéder à Datadog est myorg.datadoghq.com, cette valeur doit alors être définie sur myorg. Valeur par défaut : app.
datadogSitefacultatifLe site Datadog, pour une configuration avec le type d’authentification apiAppKeys. Valeur par défaut : datadoghq.com.
publicIdsfacultatifLa liste des ID des tests Synthetic à déclencher, séparés par des retours à la ligne ou des virgules. Si aucune valeur n’est fournie, la tâche cherche des fichiers intitulés synthetics.json.
testSearchQueryfacultatifCe paramètre déclenche les tests correspondant à une requête de recherche. Il est particulièrement utile si vous appliquez des tags à vos configurations de test. Pour en savoir plus, consultez les règles et bonnes pratiques pour nommer des tags.
filesfacultatifExpression globale permettant de détecter les fichiers de configuration des tests Synthetic. Valeur par défaut : {,!(node_modules)/**/}*.synthetics.json.
configPathfacultatifLa configuration JSON globale utilisée lors du lancement des tests. Pour en savoir plus, consultez l’exemple de configuration. Valeur par défaut : datadog-ci.json.
variablesfacultatifLa liste des variables globales à utiliser pour les tests Synthetic, séparés par des retours à la ligne ou des virgules. Exemple : START_URL=https://example.org,MY_VARIABLE=My title. Valeur par défaut : [].

Pour aller plus loin

Documentation, liens et articles supplémentaires utiles :