You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用semantic-release的Node项目如何将构建产物添加为Github Release资产?

解决方案

步骤1:安装依赖

首先在项目中安装semantic-release的GitHub插件,用于自定义Release上传资产:
npm install @semantic-release/github --save-dev

步骤2:新增打包构建产物步骤(可选但推荐)

把dist目录打包为单一zip包方便上传,在你的Run build步骤之后、Release步骤之前新增如下步骤:

- name: 打包构建产物
  run: zip -r dist.zip dist/

你之前加的Archive build步骤是将产物上传到GitHub Actions的制品存储,和Release资产无关,不需要可以删除,保留也不影响流程

步骤3:配置semantic-release上传资产

在项目根目录新增.releaserc.json配置文件,或者在package.json中新增release字段,配置如下:
示例(package.json配置):

{
  "release": {
    "branches": ["main"],
    "plugins": [
      "@semantic-release/commit-analyzer",
      "@semantic-release/release-notes-generator",
      [
        "@semantic-release/github",
        {
          "assets": [
            {
              "path": "dist.zip",
              "name": "build-v${nextRelease.version}.zip",
              "label": "生产构建产物"
            }
          ]
        }
      ]
    ]
  }
}

配置说明:

  • path:本地要上传的文件路径,支持通配符匹配多个文件,比如填写dist/*.js就会批量上传dist目录下所有js文件
  • name:上传到Release后显示的文件名,支持注入版本号变量
  • label:Release页面中该资产的说明文字

如果运行时出现权限报错,可在工作流的job配置中添加权限声明:

jobs:
  release-on-push-on-main:
    runs-on: ubuntu-latest
    permissions:
      contents: write # 允许写入Release内容
    # 剩下的原有配置保留

步骤4:运行发布流程

你原来的Release步骤可以直接保留使用,配置生效后每次执行semantic-release时会自动将指定资产附加到对应GitHub Release中。

内容的提问来源于stack exchange,提问作者user17298649

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 23:36:03