---
url: /zh/guide/deploy-key.md
description: |
  介绍 CNB 平台部署令牌的概念和用途， 说明如何创建只读访问凭证，适用于 CI/CD 和自动化脚本中安全拉取代码或制品。
---
部署令牌用于在 CI/CD 或自动化脚本中安全拉取仓库代码或制品，
避免暴露主账号密钥。

常见用法：

* 自动化脚本拉取代码或依赖制品
* CI/CD 中免密访问仓库（仅限读取）
* 第三方服务集成时限制为最小权限

## 创建部署令牌

登录后，进入「组织设置 / 仓库设置 / 制品库设置 → 部署令牌 → 添加部署令牌」配置以下参数：

* **令牌名称**：令牌的唯一标识
* **过期时间**：令牌过期后自动失效
* **授权范围**：令牌可操作的权限范围

## 使用方式

**访问代码仓库：**

* 用户名：`cnb`
* 密码：添加的部署令牌

**访问制品库：**

* 用户名：`cnb`
* 密码：添加的部署令牌

例如，在 CI 或自动化脚本中通过部署令牌拉取代码：

```bash
# 克隆仓库（只读），URL 中内嵌凭据以支持无人值守运行
git clone https://cnb:${DEPLOY_KEY}@cnbprod.alpha.qq.com/group-path/repo-path
```

> 建议将 `DEPLOY_KEY` 存入 CI 的密钥/环境变量，避免把令牌明文写入仓库或脚本。

### 调用 OpenAPI

详见 [Open API](../develops/openapi.md)。

## 与访问令牌的区别

| 对比项   | 部署令牌           | 访问令牌           |
| ------- | ---------------- | ----------------- |
| 权限    | 仅只读            | 可配置读写或只读    |
| 使用范围 | 由创建时的资源层级决定 | 关联用户权限       |
| 用户属性 | 不具备用户属性，仅关联资源 | 关联用户，继承用户权限 |
| OpenAPI | 可调用 AI 相关接口  | 需仓库写权限 \[¹]    |

> \[¹] 调用时令牌所属用户须具备仓库写权限。

## 默认权限规则

* **私有仓库/私有制品库**：默认无权限，需手动勾选授权范围
* **公开仓库/公开制品库**：默认有只读权限

## 注意事项

* 部署令牌不适合写入操作（如发布、上传制品）
* 建议定期审计令牌使用情况，及时清理长期未用的令牌
* 创建时务必检查授权范围，避免因默认未勾选导致无权限报错
