github自动发布release

github自动发布release

摘要
使用Github Action自动发布Release,并通过CDN访问。

引言

希望在完成代码提交后,Github能自动创建并发布Release包。例如在博客网站引用静态资源时,能够自动获取。并通过CDN访问最新发布的资源包。

教程

1.创建workflow的配置文件

Github Action使用yaml格式的配置文件,定义工作流程。首先在资源仓库创建.github/workflow/main.yml文件,然后添加如下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
name: Releases

on:
push:
tags:
- "*"

jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: ncipollo/release-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}

表示在push tag时触发,先checkout代码,再创建release

2.推送tag

完成代码提交后,需要创建并推送tag。假设tagv0.0.1

1
2
git tag -a v0.0.1 -m 'release 0.0.1'
git push origin v0.0.1

执行完成后,查看Github远程仓库存在tag v0.0.1。等待稍许,发现Actions触发构建任务,任务完成后,出现Release v0.0.1

如果tag存在,想覆盖推送:

1
2
git tag -a v0.0.1 -m 'release 0.0.1' -f
git push origin v0.0.1 --force

但是Github远端仓库的Release包如果存在的话,需要提前删除才能成功创建Release

FAQ

1.执行失败

如果失败,检查是否给资源仓库Actions写权限,定位 资源仓库 -> Settings -> Actions -> General -> Workflow permissions -> Allow Github Actions to create and approve pull requests 勾选

workflow-actions

2.资源无法访问

如果出现CDN资源无法访问的情况,尝试通过不同的CDN域名访问:

1
2
3
cdn.jsdelivr.net
fastly.jsdelivr.net
gcore.jsdelivr.net

参考文章:
无。

Author

gh503

Posted on

2024-05-06

Updated on

2024-07-17

Licensed under