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

如何通过Github Actions配合semantic-release Github插件发布整个目录?

解决方案

@semantic-release/github 插件本身不支持直接上传目录为单个附件,配置路径为目录时默认会遍历上传目录内所有文件,你需要在CI流程中先将dist目录打包为单个压缩包,再配置插件上传该压缩包即可。


步骤1:修改CI工作流配置,新增打包步骤

在ci.yml的Run build步骤之后、Release步骤之前,新增打包dist目录的步骤:

- name: Run build
  run: npm run build
# 新增以下打包步骤
- name: Package dist as compressed archive
  run: tar -zcvf dist.tar.gz dist/
- name: Release
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  run: npx semantic-release --branches main

如果需要生成zip格式压缩包,将打包命令替换为:
zip -r dist.zip dist/


步骤2:修改semantic-release配置,指向压缩包

将.releaserc.json中@semantic-release/github插件的assets路径修改为打包后的压缩包路径:

{
  "plugins":[
    "@semantic-release/commit-analyzer",
    "@semantic-release/release-notes-generator",
    [
      "@semantic-release/github",
      {
        "assets":[
          {
            "path":"dist.tar.gz",
            "label":"foo-${nextRelease.gitTag}.tar.gz"
          }
        ]
      }
    ]
  ]
}

如果同时生成了tar.gz和zip两种格式的压缩包,可在assets数组中添加两个配置项分别对应两个文件即可。

修改后重新运行工作流,就会在Github Release中仅上传单个dist压缩包作为附件。

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

相关产品推荐
方舟 Agent Plan

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

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