Generic 制品库
575 字约 2 分钟
前置准备
推送制品
本地命令行推送
1.配置 .netrc 以在使用 curl 命令时自动加载推送凭据. <CNB_TOKEN> 请替换成实际值
printf "\nmachine \nlogin cnb\npassword %s\n" "<CNB_TOKEN>" >> ~/.netrc2.执行以下命令推送到 CNB. <REPO_URL>, <PACKAGE>, <VERSION>, <LOCAL_FILE_NAME> 请替换成实际值
curl --netrc '<REPO_URL>/<PACKAGE>?version=<VERSION>' -T '<LOCAL_FILE_NAME>'云原生构建中推送
1.粘贴以下内容到 .cnb.yaml, 提交到代码仓库. <REPO_URL>, <PACKAGE>, <LOCAL_FILE_NAME> 请替换成实际值
.cnb.yml
$:
tag_push:
- docker:
image: curlimages/curl
stages:
- name: "配置认证凭据"
script: printf "machine \nlogin cnb\npassword %s\n" "${CNB_TOKEN}" > ~/.netrc
- name: "发布到 CNB"
script: curl --netrc "<REPO_URL>/<PACKAGE>?version=${CNB_BRANCH}" -T "<LOCAL_FILE_NAME>"2.提交一个 Tag, 将会触发云原生构建, 注意: Tag 值将会作为制品版本号, 请使用语义版本号
云原生开发中推送
1.点击代码仓库页面右上角 「云原生开发」 按钮进入开发环境
2.执行以下命令配置凭据
printf "machine \nlogin cnb\npassword %s\n" "${CNB_TOKEN}" > ~/.netrc3.发布到 CNB. <REPO_URL>, <PACKAGE>, <VERSION>, <LOCAL_FILE_NAME> 请替换成实际值
curl --netrc '<REPO_URL>/<PACKAGE>?version=<VERSION>' -T '<LOCAL_FILE_NAME>'使用制品
拉取制品
1.配置 .netrc 以在使用 curl 命令时自动加载推送凭据. <CNB_TOKEN> 请替换成实际值
printf "\nmachine \nlogin cnb\npassword %s\n" "<CNB_TOKEN>" >> ~/.netrc2.拉取制品. <REPO_URL>, <PACKAGE>, <VERSION> 请替换成实际值
curl -OfL --netrc '<REPO_URL>/<PACKAGE>?version=<VERSION>'删除制品
generic 暂时没有提供删除命令, 请参考 删除制品
FQA
Q1: 包名限制规则
包名指完整路径, 例如: a/b/c.txt
- 最长为 128, 层级深度最大为 5
- 区分大小写. a/b/c.txt 和 A/B/C.TXT 是不同路径
- 目录和文件不能同名. 不允许 a/b/c 和 a/b/c/ 同时存在
- 路径片段不能以空格开头或结尾. a/ b /c.txt 会在参数校验时抛错
- 单独 - 不能作为目录名或文件名. a/-/c.txt 是不合法的
- 包名字符的白名单正则为:
"^[a-zA-Z0-9\u4e00-\u9fa5._\\-/ ]+$"