Deploy Tokens
Deploy Tokens
版本历史
- 在 GitLab 10.7 中引入 .
- 从 GitLab 12.9 中的设置>存储库 .
- 在 GitLab 12.10 中添加了范围 .
- 从 GitLab 12.10.1.中的“设置”>” CI / CD” .
- 在 GitLab 13.0 中添加了软件包注册表范围 .
部署令牌使您无需用户和密码即可下载( git clone
)或推和拉项目的程序包和容器注册表映像.
部署令牌只能由管理.
如果有密钥对,则可能要改用部署密钥 .
您可以从项目的设置中创建任意数量的部署令牌. 或者,您也可以创建 .
- 登录到您的 GitLab 帐户.
- 转到要为其创建”部署令牌”的项目(或组).
- 去 设置 > 存储库 .
- 单击” 部署令牌”部分上的”扩展”.
- 选择令牌的名称,有效期(可选)和用户名(可选).
- 单击创建部署令牌 .
- 将部署令牌保存在安全的地方. 离开或刷新页面后, 您将无法再次访问它 .
Deploy token expiration
部署令牌在您定义的日期 UTC 午夜到期.
您可以随时单击”活动的部署令牌”区域下的相应” 撤消”按钮来撤消任何部署令牌.
Limiting scopes of a deploy token
可以使用不同的作用域创建部署令牌,这些作用域允许给定令牌可以执行各种操作. 下表介绍了可用的范围以及引入的 GitLab 版本.
在 GitLab 12.1 中 .
Usage
要使用部署令牌下载存储库,您只需要:
- 创建一个以
read_repository
为范围的部署令牌. - 记下您的
username
和token
. 使用 Deploy Token
git clone
项目:
将<username>
和<deploy_token>
替换为正确的值.
Read Container Registry images
要读取容器注册表图像,您需要:
- 使用
read_registry
作为范围创建部署令牌. - 记下您的
username
和token
. - 使用部署令牌登录到 GitLab 的 Container Registry:
只需将<username>
和<deploy_token>
替换为适当的值即可. 然后,您可以简单地从 Container Registry 中提取图像.
在 GitLab 12.10 中引入 .
要推送容器注册表映像,您需要:
- 创建一个具有
write_registry
作为范围的部署令牌. - 记下您的
username
和token
. 使用部署令牌登录到 GitLab 的 Container Registry:
只需将和<deploy_token>
替换为适当的值即可. 然后,您可以简单地将图像推送到 Container Registry.
Read or pull packages
在 GitLab 13.0 中引入 .
- 使用
read_package_registry
作为范围创建一个部署令牌. - 记下您的
username
和token
. - 对于的软件包类型,请遵循有关部署令牌的身份验证说明.
在 GitLab 13.0 中 .
要在 GitLab 软件包注册表中上传软件包,您需要:
- 使用
write_package_registry
作为范围创建部署令牌. - 记下您的
username
和token
. - 对于您选择的遵循有关部署令牌的身份验证说明.
Group Deploy Token
在 GitLab 12.9 中 .
在组级别创建的部署令牌可在属于特定组或其子组之一的所有项目中使用.
有关概述,请参阅” 组部署令牌” .
要使用组部署令牌:
- 为组一个部署令牌.
克隆相关项目的存储库时,应用于组部署令牌的范围(例如read_repository
)将一致地应用.
在 GitLab 10.8 中引入 .
部署令牌是一种特殊情况. 如果用户创建了一个名为gitlab-deploy-token
的名称,则 Deploy Token 的用户名和令牌将自动作为环境变量暴露给 CI / CD 作业: CI_DEPLOY_USER
和CI_DEPLOY_PASSWORD
.
创建令牌后,可以使用以下变量登录到 Container Registry: