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

如何通过触发发布创建的GitHub Action向发布添加资产?

如何在GitHub Actions的release创建触发工作流中添加构建资产到对应发布

softprops/action-gh-release完全适配你这种由release: created触发的工作流,不用局限于推送标签的场景,直接就能用来给触发当前工作流的发布添加资产。

以下是完整的工作流配置示例,包含构建和上传的全流程:

on:
  release:
    types: [created]

jobs:
  build-and-attach-assets:
    runs-on: ubuntu-latest
    steps:
      - name: 拉取仓库代码
        uses: actions/checkout@v4

      # 这里替换成你的项目构建命令,示例为Node.js项目
      - name: 执行项目构建
        run: |
          npm install
          npm run build
          # 将构建产物打包成zip方便上传
          zip -r build-output.zip dist/

      - name: 上传资产到发布
        uses: softprops/action-gh-release@v2
        with:
          # 列出所有要上传的文件,支持通配符和多行
          files: |
            build-output.zip
            # 如果你有其他资产,比如二进制文件,直接追加即可
            ./path/to/another-asset.exe
        env:
          # GitHub自动提供的token,具备发布资产的权限
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

关键说明:

  • 该Action会自动读取当前release事件的上下文信息,精准关联到触发工作流的那个发布,不需要手动指定发布ID或标签。
  • GITHUB_TOKEN是GitHub为工作流自动注入的密钥,默认拥有仓库的写入权限,足以完成资产上传操作。
  • files参数支持多种写法:单个文件名、通配符(比如dist/**/*)、多行列出多个文件,按需调整即可。

注意事项:

  • 确保构建步骤生成的文件路径和files中指定的一致,否则会出现文件找不到的错误。
  • 跨平台构建时,打包命令需要适配系统:比如Windows环境可以用Compress-Archive PowerShell命令,macOS可以用zip或tar。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 20:45:42