cnb-rs release create
cnb-rs release create [OPTIONS] -t <TAG> -n <NAME> [FILES]...创建 Release,可选同时上传附件。
创建成功后输出 Release 的 Web 链接。target_commitish 默认使用 Tag 名称。
有附件且非 draft 时,采用 draft→upload→publish 原子流程,确保用户不会看到附件不全的 Release。
参数
[FILES]...: 附件文件路径、glob pattern 或目录(可选,支持多个)
选项
-t, --tag <TAG>: Release 的 Tag 名称(必填)-n, --name <NAME>: Release 名称(必填)-b, --body <BODY>: Release 描述(默认:空,与-F/--notes-file互斥)-F, --notes-file <FILE>: 从文件读 release notes(参考gh release create -F,与-b/--body互斥)-d, --draft: 标记为草稿(不发布、仅作者可见,参考gh release create -d)--target <BRANCH>: 目标 commit / 分支 / tag(默认与--tag相同,参考gh release create --target)--make-latest <true|false>: 是否标记为最新版本(默认:true)-p, --prerelease: 标记为预发布版本-f, --file <FILE>: 附件文件路径(可重复,与位置参数合并)-c, --concurrency <N>: 并发上传数(默认:5)
继承的全局选项:
--repo <REPO>: 指定仓库路径(格式:group/repo)--domain <DOMAIN>: 指定目标域名(默认:cnb.cool)
示例
bash
# 创建 Release
$ cnb-rs release create -t v1.0.0 -n v1.0.0
# 从文件读 release notes
$ cnb-rs release create -t v1.0.0 -n v1.0.0 -F CHANGELOG.md
# 创建草稿(不发布、仅作者可见)
$ cnb-rs release create -t v2.0.0-beta -n "v2.0.0-beta" -d
# 显式指定 target commit
$ cnb-rs release create -t v1.0.0 -n v1.0.0 --target a1e2c3d
# 创建 Release 并同时上传附件
$ cnb-rs release create -t v1.0.0 -n v1.0.0 dist/*.tar.gz
# 上传目录下所有文件作为附件
$ cnb-rs release create -t v1.0.0 -n v1.0.0 release-artifacts/
# 标记为最新版本并添加描述
$ cnb-rs release create -t v1.0.0 -n v1.0.0 --make-latest true -b "首个正式版本"另请参阅
- cnb-rs release
- cnb-rs release asset-upload — 单独上传附件到已有 Release