概要

GitLab パイプラインで Continuous Testing テストを実行し、デプロイをブロックし、ロールバックをトリガーして、重要なビジネスワークフローが期待通りに機能するときに、コードが本番環境に追加されていることを確認します。

Continuous Testing テストを GitLab パイプラインにインテグレーションするには、datadog-ci npm パッケージを使用します。

セットアップ

始めるには

  1. GitLab プロジェクトに Datadog の API キーとアプリケーションキーを変数として追加します。
  2. GitLab ランナーに Node.js >= 10.24.1 がインストールされていることを確認します。

詳しくは、CI/CD インテグレーション構成をご覧ください。

シンプルな構成

テスト ID を使ったテストの実行

stages: 
  - test
synthetic-tests:
  stage: test
  script: 
    - npm install -g @datadog/datadog-ci
    - datadog-ci synthetics run-tests --apiKey "$DATADOG_API_KEY" --appKey "$DATADOG_APP_KEY" --public-id xtf-w5p-z5n --public-id eif-van-tu7

タグを使ったテストの実行

stages: 
  - test
synthetic-tests:
  stage: test
  script: 
    - npm install -g @datadog/datadog-ci
    - datadog-ci synthetics run-tests --apiKey "$DATADOG_API_KEY" --appKey "$DATADOG_APP_KEY" -s 'tag:e2e-tests'

変数のオーバーライドを使ったテストの実行

もし、CI/CD 環境に固有のテストユーザーやデータがある場合は、-v コマンドでこれらの変数をオーバーライドすることができます。詳しくは、NPM パッケージ datadog-ciSynthetics コマンドを参照してください。

stages: 
  - test
synthetic-tests:
  stage: test
  script: 
    - npm install -g @datadog/datadog-ci
    - datadog-ci synthetics run-tests --apiKey "$DATADOG_API_KEY" --appKey "$DATADOG_APP_KEY" -s 'tag:e2e-tests' -v PASSWORD="$PASSWORD"

高度なコンフィギュレーション

カスタムコンフィギュレーションファイルを使ったテストの実行

カスタム config.json ファイルをパイプラインリポジトリに追加し、パイプラインの構成でアクセスします。

stages: 
  - test
synthetic-tests:
  stage: test
  script: 
    - npm install -g @datadog/datadog-ci
    - datadog-ci synthetics run-tests --apiKey "$DATADOG_API_KEY" --appKey "$DATADOG_APP_KEY" --config synthetics_global.json -f synthetic_test.json

テスト出力

この例では、パイプラインがコンフィギュレーションファイルを識別し、テストを実行していることを示しています。

GitLab で実行する Synthetic テスト

テスト出力に成功すると、GitLab で次のように返されます。

GitLab パイプラインでの Synthetic テスト実行結果の成功例

参考資料