使用release-please在主版本>1后从dev分支发布beta版本
从dev分支发布Beta版本的配置方案
要在主版本大于1后,通过dev分支发布beta版本,你需要为dev分支单独配置一套release-please作业,和main分支的正式版发布流程做隔离。核心是通过指定预发布类型和目标分支,让release-please针对dev分支的变更生成带beta标识的版本。
关键配置要点
- 将
default-branch设为dev,让release-please跟踪dev分支的变更 - 新增
prerelease-type: beta参数,指定预发布版本的标识为beta - 保持
release-type: node适配Node.js包的版本管理逻辑
完整的dev分支Beta发布作业
把以下作业添加到你的GitHub Action配置文件中,和main分支的发布作业并列:
release-please-beta: runs-on: some-vm steps: - name: Release Beta with release-please id: release-beta uses: google-github-actions/release-please-action@v3 with: release-type: node default-branch: dev prerelease-type: beta token: ${{ GITHUB_TOKEN }} - name: Checkout uses: actions/checkout@v3 if: ${{ steps.release-beta.outputs.releases_created }} # Setup .npmrc file to publish to github packages - name: Setup Node uses: actions/setup-node@v3 with: node-version: "16" registry-url: "https://npm.pkg.github.com" cache: "npm" if: ${{ steps.release-beta.outputs.releases_created }} - name: Install dependencies run: npm i if: ${{ steps.release-beta.outputs.releases_created }} - name: Build library run: npm run build:lib if: ${{ steps.release-beta.outputs.releases_created }} - name: Publish Beta release run: npm publish --tag beta if: ${{ steps.release-beta.outputs.releases_created }} env: NODE_AUTH_TOKEN: ${{ GITHUB_TOKEN }}
额外注意事项
- 版本隔离:release-please会为dev分支单独维护版本状态,不会干扰main分支的正式版本号。主版本大于1时,beta版本会自动生成为
x.y.z-beta.n格式(例如2.1.0-beta.1) - npm标签区分:发布时添加
--tag beta,用户需要通过npm install your-package@beta才能安装beta版本,正式版仍默认使用latest标签 - 触发控制:可以给该作业添加触发条件,比如仅在dev分支有推送时运行,只需在作业顶部添加:
on: push: branches: [dev]
内容的提问来源于stack exchange,提问作者Akshay Rajpaul
相关产品推荐
相关产品推荐

