跳转到内容

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 "首个正式版本"

另请参阅 ​

Released under the MIT License.