使用 GitHub Actions 触发自动发布(自动发布新版本)可以通过在你的 GitHub 仓库中创建一个自定义工作流(workflow)来实现。以下是具体步骤: 1. 创建 GitHub Actions 工作流文件: 在你的项目根目录下创建一个 .github/workflows 文件夹,如果这个文件夹还不存在的话。 2. 定义工作流: 在 .github/workflows 文件夹中创建一个 YAML 文件(比如 release.yml)来定义你的工作流。以下是一个简单的示例,用于在每次推送到 main 分支时自动发布新版本:
yaml
name: Release
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '14'
- name: Install dependencies
run: npm install
- name: Run tests
run: npm test
- name: Bump version and push tag
id: bump_version
uses: anothrNick/github-tag-action@v1.36.0
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create Release
id: create_release
uses: actions/create-release@v1
with:
tag_name: ${{ steps.bump_version.outputs.new_tag }}
release_name: Release ${{ steps.bump_version.outputs.new_tag }}
body: |
Release notes here...
draft: false
prerelease: false
- name: Upload Release Asset
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./path/to/your/asset.zip
asset_name: asset.zip
asset_content_type: application/zip
以上工作流文件做了以下几件事:
- 当推送到
main分支时触发该工作流。 -- 检出代码。 - 设置 Node.js 环境。
- 安装依赖并运行测试。
- 使用
github-tag-action自动生成新的标签(tag)。 - 使用
create-release动作创建一个新的发布。 - 使用
upload-release-asset上传一个发布资源。
- 保存工作流文件并推送: 保存文件并推送更改到你的 GitHub 仓库。
git add .github/workflows/release.yml
git commit -m "Add release workflow" git push origin main
- 配置必要的 Secrets: 如果你的工作流需要一些敏感信息,比如
GITHUB_TOKEN,你需要在 GitHub 仓库的设置中配置它们。GitHub 默认会为每个工作流提供一个GITHUB_TOKEN,你不需要额外配置。 - 触发工作流: 每次你推送代码到
main分支时,这个工作流将会被自动触发,进行新的发布。 这样,你就可以通过 GitHub Actions 自动发布你的项目了。根据你的项目需求,可以调整和扩展上述示例中的各个步骤。