LiesAuer's Blog
关于
归档
友链
猫咪
RSS
切换模式
返回顶部
首页
说说
日常
开发
游戏
资源
虚拟货币
LiesAuer's Blog
首页
说说
日常
开发
游戏
资源
虚拟货币
关于
归档
友链
猫咪
RSS
如何使用Travis CI来做GitHub的Release自动发布
开发
·
2020-02-13
LiesAuer
## 起因 由于GitHub在国内越来越难访问了,甚至于Release都是托管在亚马逊AWS下,访问起来更是问题了,十几KB甚至几KB的速度已经是惯例了,想上传个Release都得上传半天。其实这个上传脚本我很早之前就在用了,近期有空就刚好做成一个傻瓜式自动脚本供给其他的项目用。 ## 食用演示 注意,本文不会对`git` `github` `travis-ci` `yaml`等相关知识做过多解释,需要读者有一定的基础。 ### 创建仓库 首先我们新建一个测试演示的空仓库  ### 创建构建脚本 然后新建一个测试用的`.travis.yml`,重点在`deploy`配置 ```yaml language: minimal deploy: provider: script script: curl https://raw.githubusercontent.com/liesauer/github-release-cli/master/scripts/github-auto-release.sh -L --output github-auto-release.sh && chmod +x github-auto-release.sh && bash ./github-auto-release.sh on: all_branches: true tags: true ```  然后我们进去travis-ci.com看一下,根据构建日志提示,我们发现`deploy`并没有被触发,这是因为我们的`deploy`条件是必需发布了`tag`才有效。  ### 发布TAG 我们给仓库加一个`tag`再试试  然而我们可以发现构建失败了,这是怎么回事呢  根据构建日志提示,我们是少设置了一个环境变量`GITHUB_TOKEN`,我们必须设置这个环境变量,脚本才能对仓库进行Release的操作,否则是无权限操作的。  ### 创建ACCESS TOKEN 我们进入GitHub的`Settings->Developer settings->Personal access tokens`,然后新建一个,要注意的是`write:packages`一定要勾上,然后其他的两项会自动帮你勾上的,不用管,直接提交。添加完后将其复制。  ### 添加环境变量 我们回到travis-ci.com,进入到项目设置中,添加一个名叫`GITHUB_TOKEN`的环境变量,将刚刚生成的token粘贴进去就行了。  ### 重新构建 我们点击travis-ci.com项目的重新构建,等待其完成,然后我们进入GitHub项目的Release页面,发现已经成功发布了Release。  ### 自定义Release信息 由于这是傻瓜式自动脚本,所以并没有提供自定义标题的功能,标题固定为`tag`的名字,无法自定义,但是Release的信息却可以自定义,只要我们commit的时候,使用以下格式进行提交,脚本会自动提取,若未提供此格式,则以整条commit信息作为Release信息上传 ```markdown commit信息 # Release 自定义release信息 ``` 如下图所示,我们的commit信息为`Create test.txt`,但是额外提供了`# Release`格式的信息,当我们推送此commit且添加tag时,发布的Release信息则使用自定义的信息。  重新加一个tag触发构建  效果如下  ### Pre-Release发布 只要`tag`中含有`alpha` `beta` `rc`,即可自动识别为`Pre-Release`发布,如下图所示。  ### 文件上传 本脚本会将项目`Build/Release`下的所有文件视为上传文件。 下面我们来演示一下文件的上传,由于我们的测试仓库没有构建脚本,无法生成文件,所以我们就只能自己上传文件来演示下,实际使用中只要把生成的文件拷贝至项目`Build/Release`下即可。 上传一个测试文件到`Build/Release`下  发布Release效果如下  ### 最终可达成效果 当你构建脚本写好后,Travis CI写好后,只需以下操作即可傻瓜式上传Release ```shell git add . git commit # 不提供-m参数会进入vim模式,可支持换行信息 # XXX改动 # # Release # # ## 更新 # 1. XXX功能更新 # 保存退出 git tag vx.y.z[-beta] git push git push --tags ```
travis-ci
取消回复
提交评论
热门文章
HumanMod - 免费的集N多功能于一身的HFF(人类一败涂地)插件
记抖音爬虫中所遇到的坑
设置网易邮箱大师为Win10默认邮件客户端
微信表情包工具【2023/05/04】更新
更改TLY本地代理端口
让Tauri前端部分调试如调试常规Web项目般丝滑
使用 v2rayN + SSTap 对 Win10 + WSL2 进行超简单易用的科学上网设置
最新评论
Jekanius: Hello, I implemented such a mech...
Jekanius: I need you help.
Jekanius: Is it working now?
任情随缘: 很多站长卖的站和老域名大部分都到了这些搞灰产的手里。
滚石: 赞
阿大萨瓦: 群满了
指南: 不换一个主题吗
关于站长
广东佛山
liesauer#liesauer.net
LiesAuer
粤ICP备16094588号-1
Theme
Jasmine
by
Kent Liao