---
url: /zh/develops/badge.md
---
徽章用于展示某个指标的数据，可通过颜色区分指标是否达标。

## 云原生构建相关徽章

### 徽章访问路径

云原生构建时产生的徽章，访问路径：

* precise: `https://cnb.share.ralphlauren.cn/{group}/{repository}/-/badge/git/{sha}/{metrics}`

* latest: `https://cnb.share.ralphlauren.cn/{group}/{repository}/-/badge/git/latest/{metrics}`

* 分支 latest: `https://cnb.share.ralphlauren.cn/{group}/{repository}/-/badge/git/latest/{metrics}?branch={branch}`

* 参数含义
  * `group`：仓库所在 `group`
  * `repository`：仓库名
  * `sha`: 表示 CommitId 前 8 位
  * `latest`：未指定 branch 参数时，获取默认分支最新的徽章；指定 branch 参数时，获取指定分支最新的 commit hash 对应的徽章
  * `metrics`: 指标名，如 `ci/status/push`，其对应的徽章表示：云原生构建时，push 事件触发的构建耗时
  * `branch`: 分支名，如 `main`，仅当 sha 为 `latest` 时生效，此时会获取当前分支最新的 commit hash 对应的徽章

### 徽章类型

云原生构建时，会自动上传相关构建指标的徽章数据：

#### 1. Git 事件

* ci/status/push

push 事件构建耗时和构建状态

![push 事件](//cnb.share.ralphlauren.cn/svg/badge/push?message=pending%2C%2010s\&color=pending)
![push 事件](//cnb.share.ralphlauren.cn/svg/badge/push?message=success%2C%2010s\&color=success)
![push 事件](//cnb.share.ralphlauren.cn/svg/badge/push?message=failure%2C%2010s\&color=failure)

* ci/status/commit.add

commit.add 事件构建耗时和构建状态

![commit.add 事件](//cnb.share.ralphlauren.cn/svg/badge/commit.add?message=pending%2C%2010s\&color=pending)
![commit.add 事件](//cnb.share.ralphlauren.cn/svg/badge/commit.add?message=success%2C%2010s\&color=success)
![commit.add 事件](//cnb.share.ralphlauren.cn/svg/badge/commit.add?message=failure%2C%2010s\&color=failure)

* ci/status/branch.create

branch.create 事件构建耗时和构建状态

![branch.create 事件](//cnb.share.ralphlauren.cn/svg/badge/branch.create?message=pending%2C%2010s\&color=pending)
![branch.create 事件](//cnb.share.ralphlauren.cn/svg/badge/branch.create?message=success%2C%2010s\&color=success)
![branch.create 事件](//cnb.share.ralphlauren.cn/svg/badge/branch.create?message=failure%2C%2010s\&color=failure)

* ci/status/pull\_request

pull\_request 事件构建耗时和构建状态

![pull\_request 事件](//cnb.share.ralphlauren.cn/svg/badge/pull_request?message=pending%2C%2010s\&color=pending)
![pull\_request 事件](//cnb.share.ralphlauren.cn/svg/badge/pull_request?message=success%2C%2010s\&color=success)
![pull\_request 事件](//cnb.share.ralphlauren.cn/svg/badge/pull_request?message=failure%2C%2010s\&color=failure)

* ci/status/pull\_request.update

pull\_request.update 事件构建耗时和构建状态

![pull\_request.update 事件](//cnb.share.ralphlauren.cn/svg/badge/pull_request.update?message=pending%2C%2010s\&color=pending)
![pull\_request.update 事件](//cnb.share.ralphlauren.cn/svg/badge/pull_request.update?message=success%2C%2010s\&color=success)
![pull\_request.update 事件](//cnb.share.ralphlauren.cn/svg/badge/pull_request.update?message=failure%2C%2010s\&color=failure)

* ci/status/pull\_request.target

pull\_request.target 事件构建耗时和构建状态

![pull\_request.target 事件](//cnb.share.ralphlauren.cn/svg/badge/pull_request.target?message=pending%2C%2010s\&color=pending)
![pull\_request.target 事件](//cnb.share.ralphlauren.cn/svg/badge/pull_request.target?message=success%2C%2010s\&color=success)
![pull\_request.target 事件](//cnb.share.ralphlauren.cn/svg/badge/pull_request.target?message=failure%2C%2010s\&color=failure)

* ci/status/pull\_request.merged

pull\_request.merged 事件构建耗时和构建状态

![pull\_request.merged 事件](//cnb.share.ralphlauren.cn/svg/badge/pull_request.merged?message=pending%2C%2010s\&color=pending)
![pull\_request.merged 事件](//cnb.share.ralphlauren.cn/svg/badge/pull_request.merged?message=success%2C%2010s\&color=success)
![pull\_request.merged 事件](//cnb.share.ralphlauren.cn/svg/badge/pull_request.merged?message=failure%2C%2010s\&color=failure)

* ci/status/tag\_push

tag\_push 事件构建耗时和构建状态

![tag\_push 事件](//cnb.share.ralphlauren.cn/svg/badge/tag_push?message=pending%2C%2010s\&color=pending)
![tag\_push 事件](//cnb.share.ralphlauren.cn/svg/badge/tag_push?message=success%2C%2010s\&color=success)
![tag\_push 事件](//cnb.share.ralphlauren.cn/svg/badge/tag_push?message=failure%2C%2010s\&color=failure)

#### 2. 准备工作区

* ci/git-clone-yyds

工作区大小和准备工作区产生的耗时和工作区大小：![git-clone-yyds 事件](//cnb.share.ralphlauren.cn/svg/badge/git-clone-yyds?message=2.7s%2C%20163.77%20GB\&color=success)

#### 3. 流水线配置

* ci/pipeline-as-code

云原生构建的配置文件：![pipeline-as-code 事件](//cnb.share.ralphlauren.cn/svg/badge/pipeline-as-code?message=.cnb.yml\&color=orange)

#### 4. 云原生开发

* code/vscode-started

准备开发环境耗时：![vscode-started](//cnb.share.ralphlauren.cn/svg/badge/准备开发环境?message=22s\&color=success)

#### 5. 单元测试

使用内置任务 [testing:coverage](../build/internal-steps/README.md#coverage) 可上报单元测试徽章数据

* testing/unit/coverage

单元测试全量覆盖率

![coverage](//cnb.share.ralphlauren.cn/svg/badge/coverage?message=18.67%25\&color=l2)
![coverage](//cnb.share.ralphlauren.cn/svg/badge/coverage?message=38.67%25\&color=l3)
![coverage](//cnb.share.ralphlauren.cn/svg/badge/coverage?message=58.67%25\&color=l4)
![coverage](//cnb.share.ralphlauren.cn/svg/badge/coverage?message=78.67%25\&color=l5)

* testing/unit/coverage-pr

本次 `pull_request` 的单元测试增量覆盖率

![coverage-pr](//cnb.share.ralphlauren.cn/svg/badge/coverage%20%40pr?message=18.67%25\&color=l2)
![coverage-pr](//cnb.share.ralphlauren.cn/svg/badge/coverage%20%40pr?message=38.67%25\&color=l3)
![coverage-pr](//cnb.share.ralphlauren.cn/svg/badge/coverage%20%40pr?message=58.67%25\&color=l4)
![coverage-pr](//cnb.share.ralphlauren.cn/svg/badge/coverage%20%40pr?message=78.67%25\&color=l5)

#### 6. 安全

* security/tca

腾讯云代码分析(TCA)：![tca](//cnb.share.ralphlauren.cn/svg/badge/TCA?message=致命/错误:%204\&color=error)

#### 7. 定时任务

* ci/status/crontab

定时任务构建耗时和构建状态

![定时任务事件](//cnb.share.ralphlauren.cn/svg/badge/crontab?message=pending%2C%2010s\&color=pending)
![定时任务事件](//cnb.share.ralphlauren.cn/svg/badge/crontab?message=success%2C%2010s\&color=success)
![定时任务事件](//cnb.share.ralphlauren.cn/svg/badge/crontab?message=failure%2C%2010s\&color=failure)

## 仓库相关徽章

### fork 徽章

用徽章形式展示仓库的 fork 数量：![fork徽章](//cnb.share.ralphlauren.cn/svg/badge/fork?message=18\&color=orange)

访问路径：`https://cnb.share.ralphlauren.cn/{group}/{repository}/-/badge/fork`

参数含义：

* `group`：仓库所在组织路径
* `repository`：仓库名

### star 徽章

用徽章形式展示仓库的 star 数量：![star徽章](//cnb.share.ralphlauren.cn/svg/badge/star?message=20\&color=orange)

访问路径：`https://cnb.share.ralphlauren.cn/{group}/{repository}/-/badge/star`

参数含义：

* `group`：仓库所在组织路径
* `repository`：仓库名

### 部署环境徽章

用徽章形式展示仓库部署环境的最新部署状态和版本：

* 有成功部署记录时：![deploy徽章](//cnb.share.ralphlauren.cn/svg/badge/Environment?message=production%3A%20v1.2.3\&color=success)
* 无部署记录时：![deploy徽章](//cnb.share.ralphlauren.cn/svg/badge/Environment?message=production\&color=orange)

访问路径：`https://cnb.share.ralphlauren.cn/{group}/{repository}/-/badge/deploy?name={name}`

点击跳转路径：`https://cnb.share.ralphlauren.cn/{group}/{repository}/-/badge/deploy.link?name={name}`

参数含义：

* `group`：仓库所在组织路径
* `repository`：仓库名
* `name`：部署环境名称（必填），如 `production`、`staging` 等

### Release 徽章

用徽章形式展示仓库最新 Release 的版本号。如果手动将某个 Release 的 tag 设置为最新版本（Latest Release），则徽章会优先展示该手动设置的 Release；否则默认展示最近创建的 Release：

* 有 Release 时：![release徽章](//cnb.share.ralphlauren.cn/svg/badge/Latest%20Release?message=v1.2.3\&color=success)
* 无 Release 时：![release徽章](//cnb.share.ralphlauren.cn/svg/badge/Latest%20Release?message=none\&color=orange)

访问路径：`https://cnb.share.ralphlauren.cn/{group}/{repository}/-/badge/release`

点击跳转路径：`https://cnb.share.ralphlauren.cn/{group}/{repository}/-/badge/release.link`

参数含义：

* `group`：仓库所在组织路径
* `repository`：仓库名

## markdown 中使用徽章

支持如下两种格式在 markdown 中以图片形式使用徽章：

带域名和仓库: `![完整路径的徽章](https://cnb.share.ralphlauren.cn/groupname/reponame/-/badge/git/latest/ci/git-clone-yyds)`

不带域名和仓库，以 `/-/badge/git` 开头的会被识别为徽章：`![相对路径徽章](/-/badge/git/latest/ci/git-clone-yyds)`
