選択したサイト () では CI Visibility は利用できません。

概要

CI Pipeline Visibility でカスタムタグとメジャーのコマンドを使用して、パイプライントレースにユーザー定義のテキストおよび数値のタグを追加できます。パイプライントレースやジョブスパンにカスタムタグやメジャーを追加するには、datadog-ci NPM パッケージを使用できます。これらのカスタムタグとメジャーから、ファセット (文字列値のタグ) またはメジャー (数値のタグ) を作成できます。

ファセットとメジャーを使用して、CI Visibility Explorer 内でパイプラインをフィルタリング、可視化の作成、またはモニターの作成ができます。

互換性

カスタムタグとメジャーは、以下の CI プロバイダーで動作します。

  • Buildkite
  • CircleCI
  • GitLab (SaaS またはセルフホスト >= 14.1)
  • GitHub.com (SaaS): GitHub ジョブにタグとメジャーを追加するには、下記のセクションを参照してください。
  • Jenkins: Jenkins では、パイプラインでカスタムタグをセットアップするには、こちらの手順に従ってください。
  • Azure DevOps パイプライン

Datadog CI CLI のインストール

npm を使用して datadog-ci (>=v1.15.0) CLI をグローバルにインストールします。

npm install -g @datadog/datadog-ci

また、npm を使いたくない場合は、ベータ版のスタンドアロンバイナリを使ってみることもできます。

Linux でスタンドアロンバイナリをインストールするには、以下を実行します。

curl -L --fail "https://github.com/DataDog/datadog-ci/releases/latest/download/datadog-ci_linux-x64" --output "/usr/local/bin/datadog-ci" && chmod +x /usr/local/bin/datadog-ci

MacOS でスタンドアロンバイナリをインストールするには、以下を実行します。

curl -L --fail "https://github.com/DataDog/datadog-ci/releases/latest/download/datadog-ci_darwin-x64" --output "/usr/local/bin/datadog-ci" && chmod +x /usr/local/bin/datadog-ci

Windows でスタンドアロンバイナリをインストールするには、以下を実行します。

Invoke-WebRequest -Uri "https://github.com/DataDog/datadog-ci/releases/latest/download/datadog-ci_win-x64.exe" -OutFile "datadog-ci.exe"

パイプライントレースへのタグの追加

タグはパイプラインスパンまたはジョブスパンに追加できます。

これを行うには、tag コマンドを実行します。

DATADOG_SITE= datadog-ci tag [--level <pipeline|job>] [--tags <tags>]

有効な Datadog API キーを環境変数 DATADOG_API_KEY で、Datadog サイトを環境変数 DATADOG_SITE で指定する必要があります。

次の例では、タグ team をパイプラインスパンに追加します。

DATADOG_SITE= datadog-ci tag --level pipeline --tags team:backend

次の例では、現在のジョブのスパンに go.version というタグを追加しています。

DATADOG_SITE= datadog-ci tag --level job --tags "go.version:`go version`"

タグからファセットを作成するには、Pipeline Executions ページでタグ名の横にある歯車アイコンをクリックし、Create Facet をクリックします。

パイプライントレースにメジャーを追加する

数値タグをパイプラインスパンまたはジョブスパンに追加するには、measure コマンドを実行します。

DATADOG_SITE= datadog-ci measure [--level <pipeline|job>] [--measures <measures>]

有効な Datadog API キーを環境変数 DATADOG_API_KEY で、Datadog サイトを環境変数 DATADOG_SITE で指定する必要があります。

次の例では、メジャー error_rate をパイプラインスパンに追加します。

DATADOG_SITE= datadog-ci measure --level pipeline --measures "error_rate:0.56"

次の例では、メジャー binary.size を現在実行中のジョブのスパンに追加します。

DATADOG_SITE= datadog-ci measure --level job --measures "binary.size:`ls -l dst/binary | awk '{print \$5}' | tr -d '\n'`"

メジャーを作成するには、Pipeline Executions ページでメジャー名の横にある歯車アイコンをクリックし、Create Measure をクリックします。

GitHub ジョブにタグとメジャーを追加する

GitHub ジョブにタグとメジャーを追加するには、datadog-ci CLI バージョン 2.29.0 以上が必要です。 ジョブ名がワークフローコンフィギュレーションファイルで定義されたエントリ (GitHub のジョブ ID) と一致しない場合、環境変数 DD_GITHUB_JOB_NAME を公開して、ジョブ名を指す必要があります。例:

  1. ジョブ名が name プロパティを使って変更された場合:

    jobs:
      build:
        name: My build job name
        env:
          DD_GITHUB_JOB_NAME: My build job name
        steps:
        - run: datadog-ci tag ...
    
  2. マトリックス戦略が使用されている場合、GitHub はジョブ名の末尾にマトリックスの値を括弧内に追加して複数のジョブ名を生成します。その場合、環境変数 DD_GITHUB_JOB_NAME はマトリックスの値に応じて条件付きで設定する必要があります。

    jobs:
      build:
        strategy:
          matrix:
            version: [1, 2]
            os: [linux, macos]
        env:
          DD_GITHUB_JOB_NAME: build (${{ matrix.version }}, ${{ matrix.os }})
        steps:
        - run: datadog-ci tag ...
    

参考資料