Generic 制品库
568 字约 2 分钟
前置准备
推送制品
凭证配置
推送和拉取制品前需配置 .netrc 认证凭据(首次配置即可,后续无需重复):
printf "machine generic.cnbprod.alpha.qq.com\nlogin cnb\npassword %s\n" "${CNB_TOKEN}" > ~/.netrcCNB_TOKEN 的获取方式请参考 创建访问令牌。
本地命令行推送
配置凭据后,执行以下命令推送制品 (<REPO_URL>、<PACKAGE>、<VERSION>、<LOCAL_FILE_NAME> 请替换为实际值):
curl --netrc '<REPO_URL>/<PACKAGE>?version=<VERSION>' -T '<LOCAL_FILE_NAME>'云原生构建中推送
- 将以下内容添加到
.cnb.yml并提交到代码仓库。推送 Tag 触发构建,Tag 值将作为制品版本号:
.cnb.yml
$:
tag_push:
- docker:
image: curlimages/curl
stages:
- name: setup netrc
script: printf "machine generic.cnbprod.alpha.qq.com\nlogin cnb\npassword %s\n" "${CNB_TOKEN}" > ~/.netrc
- name: upload
script: curl --netrc "<REPO_URL>/<PACKAGE>?version=${CNB_BRANCH}" -T "<LOCAL_FILE_NAME>"
<REPO_URL>、<PACKAGE>、<LOCAL_FILE_NAME>请替换为实际值。建议使用 语义版本号。
云原生开发中推送
- 点击代码仓库页面右上角的 「云原生开发」 按钮进入开发环境
- 配置凭据后,执行推送命令(同 本地命令行推送):
curl --netrc '<REPO_URL>/<PACKAGE>?version=<VERSION>' -T '<LOCAL_FILE_NAME>'使用制品
拉取制品
如已配置 .netrc 凭据(见上方推送章节提示),可直接拉取:
curl -OfL --netrc '<REPO_URL>/<PACKAGE>?version=<VERSION>'(<REPO_URL>、<PACKAGE>、<VERSION> 请替换为实际值)
删除制品
Generic 制品库暂不支持命令行删除,请参考 删除制品。
FAQ
Q1: 包名限制规则
包名指完整路径,例如
a/b/c.txt。
- 最大长度 128 字符,层级深度不超过 5
- 区分大小写:
a/b/c.txt与A/B/C.TXT是不同路径 - 目录和文件不能同名:不允许
a/b/c和a/b/c/同时存在 - 路径片段不能以空格开头或结尾
- 单独的
-不能作为目录名或文件名 - 包名字符需匹配正则:
^[a-zA-Z0-9\u4e00-\u9fa5._\\-/ ]+$