概要

CircleCI Build Status CircleCI Orb Version Apache 2.0 License CircleCI Community

Datadog CircleCI orb を使って、CircleCI パイプライン内で Datadog Synthetic テストを実行します。

利用できる設定の詳細については datadog-ci synthetics run-tests ドキュメント を参照してください。

セットアップ

始めるには

  1. Datadog の API キーとアプリケーション キーを、CircleCI プロジェクトの環境変数として追加してください。
  2. orb を実行するイメージは、curl がインストールされた Linux-x64 ベースのイメージを使用してください。
  3. synthetics-ci/run-tests ステップを CircleCI ワークフローに追加し、以下に示す 入力 を指定してワークフローをカスタマイズします。

ワークフローはシンプルまたは複雑にすることができます。

シンプルの使用

公開 ID を使用した orb 使用の例

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

グローバルコンフィグレーションのオーバーライドを使用した orb 使用の例

この orb は、テスト ファイル を指定するパターンのパスを上書きします。

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

Synthetic テストをトリガーする別のパイプライン例として simple-example.yml ファイル を参照してください。

複雑の使用

test_search_query を使用した orb 使用の例

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

Continuous Testing tunnel を使った orb の利用例

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

batchTimeout のカスタマイズなど、CircleCI パイプライン向けの追加オプションは CI/CD インテグレーション 設定 を参照してください。 Continuous Testing tunnel を使ってローカル サーバーを起動し、Synthetic テストをトリガーする別のパイプライン例として advanced-example.yml ファイル を参照してください。

入力

利用できる設定の詳細については datadog-ci synthetics run-tests ドキュメント を参照してください。

名前説明
api_keyDatadog API キーを格納する環境変数の名前。このキーは Datadog 組織で作成 し、シークレットとして保存してください。
デフォルト: DATADOG_API_KEY
app_keyDatadog アプリケーション キーを格納する環境変数の名前。このキーは Datadog 組織で作成 し、シークレットとして保存してください。
デフォルト: DATADOG_APP_KEY
backgroundこのステップをバックグラウンドで実行するかどうかは CircleCI 公式ドキュメント を参照してください。
デフォルト: false
batch_timeoutCI バッチのタイムアウト時間をミリ秒単位で指定します。バッチがタイムアウトすると CI ジョブは失敗し、新しいテスト実行はトリガーされませんが、進行中のテスト実行は正常に完了します。
デフォルト: 1800000 (30分)
config_pathdatadog-ci を設定する グローバル設定ファイル のパス。
デフォルト: datadog-ci.json
datadog_siteDatadog サイト。指定できる値は この表 に記載されています。
デフォルト: datadoghq.com

右側で正しい SITE が選択されていることを確認したうえで に設定してください。
fail_on_critical_errorsレート制限、認証失敗、Datadog インフラストラクチャーの問題など、通常は一過性の重大なエラーが発生した場合に CI ジョブを失敗させます。
デフォルト: false
fail_on_missing_tests実行するテストのリストが空であるか、リストに明示的に示されたテストが欠けている場合に CI ジョブを失敗させます。
デフォルト: false
fail_on_timeoutCI バッチがタイムアウトにより失敗した場合に CI ジョブを失敗させます。
デフォルト: true
filesSynthetic の テスト設定ファイル を検出するための Glob パターン (改行区切り)。
デフォルト: {,!(node_modules)/**/}*.synthetics.json
junit_reportJUnit レポートを生成する場合のファイル名。
デフォルト: なし
locationsテストの実行ロケーション一覧を上書きします (改行またはカンマ区切り)。指定できる値は この API 応答 に記載されています。
デフォルト: なし
no_output_timeoutコマンドが出力なしで実行できる経過時間。値は単位サフィックス付きの小数で、例: 20m1.25h5s。詳細は CircleCI 公式ドキュメント を参照してください。
デフォルト: 35m
public_ids実行する Synthetic テストの公開 ID (改行またはカンマ区切り)。値を指定しない場合は Synthetic の テスト設定ファイル からテストを検出します。
デフォルト: なし
selective_rerun失敗したテストのみを再実行するかどうか。特定のコミットですでに合格しているテストは、その後の CI バッチでは再実行されません。既定では 組織のデフォルト設定 が使用されます。設定で既定が有効になっている場合でも常に全件実行したいときは false を設定してください。
デフォルト: なし
subdomainDatadog 組織にアクセスするためのカスタム サブドメイン。URL が myorg.datadoghq.com の場合、カスタム サブドメインは myorg です。
デフォルト: app
test_search_query検索クエリ を使って、実行する Synthetic テストを選択します。クエリは Synthetic Tests 一覧ページの search bar で作成し、コピーして貼り付けてください。
デフォルト: なし
tunnelContinuous Testing tunnel を使って、内部環境に対するテストを起動します。
デフォルト: false
variablesSynthetic テストで、既存のローカル変数とグローバル変数をオーバーライドするか、新しいローカル変数とグローバル変数を注入します (改行またはカンマ区切り)。例: START_URL=https://example.org,MY_VARIABLE=My title
デフォルト: なし

参考資料

お役に立つドキュメント、リンクや記事: