この記事は英語の原文を日本語に翻訳したものです。原文: https://opentelemetry.io/docs/specs/semconv/resource/cicd/

翻訳元: open-telemetry/semantic-conventions v1.44.0(コミット e10a930

CI/CD

参考:

継続的インテグレーションと継続的デリバリー(CI/CD)

CI/CDパイプライン

Status: Release Candidate

type: cicd.pipeline

Description: パイプラインは、ソフトウェアチームがコードを届けるのを助ける、一連の自動化されたステップです。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Identitycicd.pipeline.nameRelease CandidateRequiredstringCI/CDシステム内における、人間が読めるパイプラインの名前。Build and Test; Lint; Deploy Go Project; deploy_to_environment

CI/CDパイプライン実行

あるパイプライン実行のすべてのスパンに対して次の属性を効率的に設定するには、これらを次のようなリソースとして定義すべきです。

このリソースはパイプライン実行ごとに一意であるため、そのTracerを通じて発行されるあらゆるスパンのリソースを設定できるように、パイプライン実行ごとに個別のTracerProviderをインスタンス化することになります。

CI/CDパイプライン実行リソースをメトリクスで使用すると、本質的に高カーディナリティになり、一部のメトリクスストレージバックエンドではコストが増加する可能性があります。そのため、メトリクスに対してCI/CDパイプライン実行リソースを使用することはオプトインでなければなりません(MUST)。

Status: Release Candidate

type: cicd.pipeline.run

Description: パイプライン実行は、あるパイプラインのタスクの単一の実行です。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Identitycicd.pipeline.run.idRelease CandidateRequiredstringCI/CDシステム内における、パイプライン実行の一意な識別子。120912
Descriptioncicd.pipeline.run.url.fullRelease CandidateRecommendedstringパイプライン実行を特定・識別するための完全なアドレスを提供する、パイプライン実行のURLhttps://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763?pr=1075

CI/CDワーカー

Status: Release Candidate

type: cicd.worker

Description: CI/CDワーカーは、作業を実行する(パイプラインのタスクを実行する、同期を行うなど)CI/CDシステムのコンポーネントです。 1回のパイプライン実行は、複数のワーカーに分散されることがあります。あるワーカーに関連付けられたOpenTelemetryシグナルは、対応する作業を実行したそのワーカーに関連付けられるべきです。 例えば、あるパイプライン実行が複数のワーカーを含む場合、そのタスク実行のスパンは、各タスク実行を処理したワーカーに対応する異なるcicd.workerリソースを参照する場合があります。パイプライン実行の親スパンは、代わりにCI/CDコントローラーをcicd.workerリソースとして参照する場合があります。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Identitycicd.worker.idRelease CandidateRequiredstringCI/CDシステム内における、ワーカーの一意な識別子。abc123; 10.0.1.2; controller
Descriptioncicd.worker.nameRelease CandidateRecommendedstringCI/CDシステム内における、ワーカーの名前。agent-abc; controller; Ubuntu LTS
Descriptioncicd.worker.url.fullRelease CandidateRecommended If availablestringワーカーを特定・識別するための完全なアドレスを提供する、ワーカーのURLhttps://cicd.example.org/worker/abc123

バージョン管理システム(VCS)

VCSリポジトリ

Status: Release Candidate

type: vcs.repository

Description: バージョン管理システム内のリポジトリ。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Identityvcs.repository.url.fullRelease CandidateRequiredstringブラウザーを通じてそのリポジトリを特定・識別するための完全なHTTP(S)アドレスを提供する、リポジトリの正規URL。[1]https://github.com/opentelemetry/open-telemetry-collector-contrib; https://gitlab.com/my-org/my-project/my-projects-project/repo
Descriptionvcs.repository.nameRelease CandidateRecommendedstring人間が読めるリポジトリの名前。GitLabのGroup/SubGroupやGitHubのorganizationのような追加の識別子は含めるべきではありません(SHOULD NOT)。[2]semantic-conventions; my-cool-repo

[1] vcs.repository.url.full: GitのVersion Control Systemでは、正規URLには.git拡張子を含めるべきではありません(SHOULD NOT)。

[2] vcs.repository.name: 名前のみであるため、複数のorganizationやgroupをまたいでテレメトリーを収集する場合、同じリポジトリのフォークと衝突する可能性があります。

VCS参照

Status: Development

type: vcs.ref

Description: バージョン管理システム内の、特定のバージョンへの参照。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Identityvcs.ref.head.revisionRelease CandidateRequiredstringリビジョン。文字通り改訂されたバージョンを指します。リビジョンは、多くの場合Gitのコミットオブジェクト、またはSVNのリビジョン番号を指します。[1]9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc; main; 123; HEAD
Descriptionvcs.ref.head.nameRelease CandidateRecommendedstringリポジトリ内のブランチタグなどの参照の名前。[2]my-feature-branch; tag-1-test
Descriptionvcs.ref.typeRelease CandidateRecommendedstringリポジトリ内の参照の種別。branch; tag

[1] vcs.ref.head.revision: headは、今まさにいる場所、つまりある時点における現在の参照を指します。リビジョンは、リポジトリ内の参照に対する記録された変更の完全なハッシュ値(用語集参照)であり、コミットオブジェクトを指します。必ずしもハッシュである必要はなく、単に単調増加する整数であるリビジョン番号を定義するだけでもかまいません。ref.head.nameと同一の場合でも、含めるべきです(SHOULD)。VCSシステムと状況に応じたコンテキストに基づいて、リビジョンとしてどの値を設定するかは実装者に委ねられます。

[2] vcs.ref.head.name: headは、今まさにいる場所、つまりある時点における現在の参照を指します。


vcs.ref.typeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
branchブランチRelease Candidate
tagタグRelease Candidate