CICD

另请参阅

持续集成和持续部署 (CICD)

CICD 流水线

状态: 开发中

类型: cicd.pipeline

描述: 流水线是帮助软件团队交付代码的一系列自动化步骤。

Attributes

Stability需求级别Value Type描述Example Values
cicd.pipeline.nameDevelopment推荐字符串CI/CD 系统中流水线的可读名称。构建和测试; Lint; 部署 Go 项目; deploy_to_environment

CICD 流水线运行

为了有效地为流水线运行的所有 spans 设置以下属性,应将其定义为以下资源。

由于此资源对于每个流水线运行都是唯一的,这意味着需要为每个流水线运行实例化单独的 TracerProvider,以便能够配置通过该 tracer 发出的任何 spans 的资源。

将 CICD 流水线运行资源与指标结合使用,本质上会导致高基数,并可能增加某些指标存储后端的成本。因此,将 CICD 流水线运行资源用于指标必须选择加入。

状态: 开发中

类型: cicd.pipeline.run

描述: 流水线运行是给定流水线任务的单一执行。

Attributes

Stability需求级别Value Type描述Example Values
cicd.pipeline.run.idDevelopment推荐字符串CI/CD 系统中流水线运行的唯一标识符。120912
cicd.pipeline.run.url.fullDevelopment推荐字符串URL,提供完整的地址以定位和识别流水线运行。https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763?pr=1075

CICD 工作器

状态: 开发中

类型: cicd.worker

描述: CICD 工作器是执行工作(例如,运行流水线任务或执行同步)的 CICD 系统组件。单个流水线运行可能分布在多个工作器上。与工作器关联的任何 OpenTelemetry 信号都应与执行相应工作的工器关联。例如,当流水线运行时涉及多个工作器时,其任务运行 spans 可能会引用执行每个任务运行的不同 cicd.worker 资源。流水线运行的父 spans 可能会改用 CICD 控制器作为 cicd.worker 资源。

Attributes

Stability需求级别Value Type描述Example Values
cicd.worker.idDevelopment必需字符串CICD 系统中工作者的唯一标识符。abc123; 10.0.1.2; controller
cicd.worker.nameDevelopment推荐字符串CICD 系统中工作者的名称。agent-abc; controller; Ubuntu LTS
cicd.worker.url.fullDevelopment推荐 如果可用字符串URL,提供完整的地址以定位和识别工作者。https://cicd.example.org/worker/abc123

版本控制系统 (VCS)

VCS 仓库

状态: 开发中

类型: vcs.repo

描述: 版本控制系统中的仓库。

Attributes

Stability需求级别Value Type描述Example Values
vcs.repository.nameDevelopment推荐字符串仓库的人类可读名称。它不应包含任何其他标识符,例如 GitLab 中的 Group/SubGroup 或 GitHub 中的组织。[1]semantic-conventions; my-cool-repo
vcs.repository.url.fullDevelopment推荐字符串仓库的 规范 URL,提供完整的 HTTP(S) 地址,以便通过浏览器定位和识别仓库。[2]https://github.com/opentelemetry/open-telemetry-collector-contrib; https://gitlab.com/my-org/my-project/my-projects-project/repo

[1] vcs.repository.name: 由于它只是名称,因此在后端收集跨多个组织或组的遥测数据时,它可能会与相同仓库的 fork 冲突。

[2] vcs.repository.url.full: 在 Git 版本控制系统中,规范 URL 不应包含 .git 扩展名。

VCS 引用

状态: 开发中

类型: vcs.ref

描述: 对版本控制系统中特定版本的引用。

Attributes

Stability需求级别Value Type描述Example Values
vcs.ref.head.nameDevelopment推荐字符串存储库中的引用的名称,例如**分支**或**标签**。[1]my-feature-branch; tag-1-test
vcs.ref.head.revisionDevelopment推荐字符串修订版本,字面意思是修订后的版本。修订版本通常指的是 Git 中的提交对象,或 SVN 中的修订版本号。[2]9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc; main; 123; HEAD
vcs.ref.typeDevelopment推荐字符串存储库中引用的类型。branch; tag

[1] vcs.ref.head.name: head 指的是你当前的位置;在给定时间点的当前引用。

[2] vcs.ref.head.revision: head 指的是你现在的位置;给定时间点的当前引用。修订版可以是完整的 哈希值(参见词汇表),它指向仓库中记录的 ref 的更改,该 ref 指向一个 commit commit 对象。它不一定必须是哈希值;它可以简单地定义一个 修订号,这是一个单调递增的整数。在与 ref.head.name 相同的情况下,仍应包含它。由实现者决定根据 VCS 系统和情境设置修订版的值。


vcs.ref.type 具有以下一系列已知值。如果适用其中一项,则必须使用相应的值;否则,可以改用自定义值。

描述Stability
branchbranchDevelopment
tagtagDevelopment