Continuous Testing と CircleCI Orb
概要

Datadog CircleCI orb を使って、CircleCI パイプライン内で Datadog Synthetic テストを実行します。
利用できる設定の詳細については datadog-ci synthetics run-tests ドキュメント を参照してください。
セットアップ
始めるには
- Datadog の API キーとアプリケーション キーを、CircleCI プロジェクトの環境変数として追加してください。
- orb を実行するイメージは、
curl がインストールされた Linux-x64 ベースのイメージを使用してください。 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
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_key | Datadog API キーを格納する環境変数の名前。このキーは Datadog 組織で作成 し、シークレットとして保存してください。 デフォルト: DATADOG_API_KEY |
app_key | Datadog アプリケーション キーを格納する環境変数の名前。このキーは Datadog 組織で作成 し、シークレットとして保存してください。 デフォルト: DATADOG_APP_KEY |
background | このステップをバックグラウンドで実行するかどうかは CircleCI 公式ドキュメント を参照してください。 デフォルト: false |
batch_timeout | CI バッチのタイムアウト時間をミリ秒単位で指定します。バッチがタイムアウトすると CI ジョブは失敗し、新しいテスト実行はトリガーされませんが、進行中のテスト実行は正常に完了します。 デフォルト: 1800000 (30分) |
config_path | datadog-ci を設定する グローバル設定ファイル のパス。 デフォルト: datadog-ci.json |
datadog_site | Datadog サイト。指定できる値は この表 に記載されています。 デフォルト: datadoghq.com
右側で正しい SITE が選択されていることを確認したうえで に設定してください。 |
fail_on_critical_errors | レート制限、認証失敗、Datadog インフラストラクチャーの問題など、通常は一過性の重大なエラーが発生した場合に CI ジョブを失敗させます。 デフォルト: false |
fail_on_missing_tests | 実行するテストのリストが空であるか、リストに明示的に示されたテストが欠けている場合に CI ジョブを失敗させます。 デフォルト: false |
fail_on_timeout | CI バッチがタイムアウトにより失敗した場合に CI ジョブを失敗させます。 デフォルト: true |
files | Synthetic の テスト設定ファイル を検出するための Glob パターン (改行区切り)。 デフォルト: {,!(node_modules)/**/}*.synthetics.json |
junit_report | JUnit レポートを生成する場合のファイル名。 デフォルト: なし |
locations | テストの実行ロケーション一覧を上書きします (改行またはカンマ区切り)。指定できる値は この API 応答 に記載されています。 デフォルト: なし |
no_output_timeout | コマンドが出力なしで実行できる経過時間。値は単位サフィックス付きの小数で、例: 20m、1.25h、5s。詳細は CircleCI 公式ドキュメント を参照してください。 デフォルト: 35m |
public_ids | 実行する Synthetic テストの公開 ID (改行またはカンマ区切り)。値を指定しない場合は Synthetic の テスト設定ファイル からテストを検出します。 デフォルト: なし |
selective_rerun | 失敗したテストのみを再実行するかどうか。特定のコミットですでに合格しているテストは、その後の CI バッチでは再実行されません。既定では 組織のデフォルト設定 が使用されます。設定で既定が有効になっている場合でも常に全件実行したいときは false を設定してください。 デフォルト: なし |
subdomain | Datadog 組織にアクセスするためのカスタム サブドメイン。URL が myorg.datadoghq.com の場合、カスタム サブドメインは myorg です。 デフォルト: app |
test_search_query | 検索クエリ を使って、実行する Synthetic テストを選択します。クエリは Synthetic Tests 一覧ページの search bar で作成し、コピーして貼り付けてください。 デフォルト: なし |
tunnel | Continuous Testing tunnel を使って、内部環境に対するテストを起動します。 デフォルト: false |
variables | Synthetic テストで、既存のローカル変数とグローバル変数をオーバーライドするか、新しいローカル変数とグローバル変数を注入します (改行またはカンマ区切り)。例: START_URL=https://example.org,MY_VARIABLE=My title。 デフォルト: なし |
参考資料
お役に立つドキュメント、リンクや記事: