パイプライントレースへのカスタムタグとメジャーの追加
選択したサイト () では 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
を公開して、ジョブ名を指す必要があります。例:
ジョブ名が name プロパティを使って変更された場合:
jobs:
build:
name: My build job name
env:
DD_GITHUB_JOB_NAME: My build job name
steps:
- run: datadog-ci tag ...
マトリックス戦略が使用されている場合、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 ...
参考資料