深入理解Release-Please CLI工具的使用方法

深入理解Release-Please CLI工具的使用方法

release-please generate release PRs based on the conventionalcommits.org spec release-please 项目地址: https://gitcode.com/gh_mirrors/re/release-please

Release-Please是一个强大的自动化版本管理和发布工具,它可以帮助开发者自动化处理版本号更新、变更日志生成和发布流程。本文将详细介绍Release-Please CLI工具的使用方法,帮助开发者更好地掌握这一工具。

安装与基本配置

首先需要全局安装Release-Please CLI工具:

npm i release-please -g

安装完成后,所有命令都支持以下全局选项:

| 选项 | 类型 | 描述 | |------|------|------| | --token | 字符串 | 必需,具有仓库写入权限的令牌 | | --repo-url | 字符串 | 必需,仓库路径格式为<所有者>/<仓库名> | | --api-url | 字符串 | REST API请求的基础URI,默认为https://api.github.com | | --graphql-url | 字符串 | GraphQL请求的基础URI,默认为https://api.github.com | | --target-branch | 字符串 | 创建发布PR和打标签的目标分支,默认为仓库的默认分支 | | --dry-run | 布尔值 | 如果设置,只报告将执行的操作而不实际执行 | | --debug | 布尔值 | 如果设置,将日志级别设置为>=DEBUG | | --trace | 布尔值 | 如果设置,将日志级别设置为>=TRACE |

初始化配置

bootstrap命令用于生成初始的release-please-config.json.release-please-manifest.json文件,或者用额外的配置更新这些文件。

release-please bootstrap \
  --token=$GITHUB_TOKEN \
  --repo-url=<owner>/<repo> \
  --release-type=<release-type> [额外选项]

主要配置选项包括:

  • --release-type: 指定发布策略类型,决定更新哪些文件
  • --initial-version: 设置初始版本号,默认为0.0.0
  • --versioning-strategy: 覆盖基于提交确定SemVer版本升级的方法
  • --changelog-path: 覆盖变更日志路径,默认为CHANGELOG.md
  • --extra-files: 发布策略应考虑的额外文件路径

创建/更新发布PR

release-pr命令用于创建或更新发布PR:

release-please release-pr \
  --token=$GITHUB_TOKEN \
  --repo-url=<owner>/<repo> [额外选项]

使用清单配置的情况

如果仓库中有清单配置文件,发布配置将从清单配置文件中提取。

不使用清单配置的情况

如果没有清单配置文件,则需要指定发布选项:

  • --path: 考虑作为此组件发布一部分的路径
  • --package-name: 要发布的包名称
  • --release-type: 语言策略,决定更新哪些文件
  • --monorepo-tags: 为标签和分支添加前缀,允许从同一仓库发布多个库
  • --include-v-in-tags: 是否在标签版本中包含"v",默认为true

在平台上创建发布

github-release命令用于在平台上创建发布:

release-please github-release \
  --token=$GITHUB_TOKEN \
  --repo-url=<owner>/<repo> [额外选项]

使用清单配置的情况

如果仓库中有清单配置文件,发布配置将从清单配置文件中提取。

不使用清单配置的情况

如果没有清单配置文件,则需要指定发布选项:

  • --draft: 如果设置,创建草稿发布
  • --prerelease: 如果设置,创建预发布版本
  • --include-v-in-tags: 是否在标签版本中包含"v",默认为true

最佳实践建议

  1. 版本策略选择:根据项目特点选择合适的release-typeversioning-strategy,对于多语言项目特别重要。

  2. 变更日志管理:利用changelog-typechangelog-sections选项定制变更日志格式,使其更符合团队需求。

  3. 预发布处理:对于长期维护的项目,合理使用prereleaseprerelease-type选项管理预发布版本。

  4. 多模块管理:对于monorepo项目,使用monorepo-tags选项可以更好地管理多个模块的发布。

  5. 测试验证:在正式使用前,先用--dry-run选项测试配置,确保符合预期。

通过合理配置Release-Please CLI工具,可以大幅简化项目的版本管理和发布流程,提高开发效率并减少人为错误。

release-please generate release PRs based on the conventionalcommits.org spec release-please 项目地址: https://gitcode.com/gh_mirrors/re/release-please

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白娥林

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值