Tests continus et extension Datadog CI d'Azure DevOps
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.
- Installez l’extension Datadog CI depuis le marketplace Visual Studio au sein de votre organisation Azure.
- 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.
- 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
Name | Prérequis | Description |
---|
authenticationType | obligatoire | Le type d’authentification utilisé par Datadog, à savoir connectedService ou apiAppKeys . |
connectedService | facultatif | Le nom de la connexion de service Datadog CI à utiliser, pour une configuration avec le type d’authentification connectedService . |
apiKey | facultatif | Votre 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. |
appKey | facultatif | Votre 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. |
subdomain | facultatif | Le 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 . |
datadogSite | facultatif | Le site Datadog, pour une configuration avec le type d’authentification apiAppKeys . Valeur par défaut : datadoghq.com . |
publicIds | facultatif | La 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 . |
testSearchQuery | facultatif | Ce 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. |
files | facultatif | Expression globale permettant de détecter les fichiers de configuration des tests Synthetic. Valeur par défaut : {,!(node_modules)/**/}*.synthetics.json . |
configPath | facultatif | La 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 . |
variables | facultatif | La 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 :