Synthetics CI CircleCI Orb

概要

CircleCI Build Status CircleCI Orb Version Apache 2.0 License CircleCI Community

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

CircleCI コマンド orb は datadog-ci をインストールし、datadog-ci synthetics run-tests コマンドDatadog Synthetic テストを実行するものです。

セットアップ

始めるには

  1. CircleCI プロジェクトに環境変数として Datadog の API キーとアプリケーションキーを追加します。命名規則については、入力を参照してください。詳しくは、API とアプリケーションキーを参照してください。
  2. orb を実行しているイメージが、cURL がインストールされた Linux x64 のベースイメージであることを確認します。

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

シンプルなワークフロー

公開 ID を使用したワークフロー例

version: 2.1

orbs:
  synthetics-ci: datadog/synthetics-ci-orb@1.0.1

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

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

version: 2.1

orbs:
  synthetics-ci: datadog/synthetics-ci-orb@1.0.1

jobs:
  e2e-tests:
    docker:
      - image: cimg/base:stable
    steps:
      - synthetics-ci/run-tests:
          files: e2e-tests/*.synthetics.json

workflows:
  run-tests:
    jobs:
      - e2e-tests

複雑なワークフロー

test_search_query を使用したワークフロー例

version: 2.1

orbs:
  synthetics-ci: datadog/synthetics-ci-orb@1.0.1

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

Synthetic テストトンネルを使用したワークフロー例

version: 2.1

orbs:
  synthetics-ci: datadog/synthetics-ci-orb@1.0.1

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

CircleCI パイプラインの pollingTimeout のカスタマイズなど、その他のオプションについては、CI/CD インテグレーション構成を参照してください。

入力

名前タイプデフォルト説明
api_key環境変数名DATADOG_API_KEYAPI キーが格納されている環境変数名。
api_key環境変数名DATADOG_APP_KEYアプリケーションキーが格納されている環境変数名。
config_path文字列datadog-ci.jsonテストを起動する際に使用するグローバルな JSON 構成。
fail_on_critical_errorsbooleanfalseテストがトリガーされなかったか、結果を取得できなかった場合に失敗します。
fail_on_timeoutbooleantrueテストタイムアウトを超えた場合、CI を強制的に失敗 (または合格) させます。
files文字列{,!(node_modules)/**/}*.synthetics.jsonSynthetic テストのコンフィギュレーションファイルを検出するためのグロブパターン。
locations文字列テストコンフィギュレーションファイルの値テストが実行される場所をオーバーライドするための、セミコロンで区切られた場所の文字列。
public_ids文字列テストコンフィギュレーションファイルの値トリガーしたい Synthetic テストの公開 ID をカンマで区切った文字列。
site文字列datadoghq.comデータ送信先となる Datadog のサイト。環境変数 DD_SITE が設定されている場合は、そちらが優先されます。
subdomain文字列appDatadog アプリケーションにアクセスするために設定されたカスタムサブドメインの名前。
test_search_query文字列なし検索クエリに対応するテストをトリガーします。
tunnelbooleanfalseテストトンネルを使用してテストをトリガーします。
variables文字列なしテストに変数を注入するための Key-Value ペア。KEY=VALUE という形式である必要があります。
version文字列v1.4.0使用する datadog-ci のバージョン。

その他の参考資料

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