如何通过触发发布创建的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-ArchivePowerShell命令,macOS可以用zip或tar。
内容的提问来源于stack exchange,提问作者Amos Egel
相关产品推荐
相关产品推荐

