最近看了一些GoLang方面的文章,平时用来写一些脚本还是比较不错的。尤其是其可编译为二进制单一文件跨平台运行的特性,实在是让人喜爱。就我个人来说,解决了给没有计算机编程基础的人的环境下跑脚本要安装一堆环境/依赖的痛点。travis作为优秀的持续集成服务,其诸多的特性也值得尝试一下,与GitHub进行完美的结合,支持打包部署到项目release,当然travis的特性并不只有这些。
Travis-ci
- 首先,需要注册一下 Travis-ci ,直接使用GitHub授权登陆即可。
- 授权之后会要求进行同步GitHub项目,对需要使用Travis服务的勾选即可,Travis会自动给勾选的项目添加一个钩子,每当push代码就会触发Travis测试任务。当然,也可以手动到Travis进行手动触发(Trigger build),且可直接指定某一个commit触发。
⚠️踩坑记录
Travis-ci.org
是只支持public repo的,如果有private的需求的,可以到Travis-ci.com
- 如果有repo没有显示出来,可以在Travis的profile页面执行
Sync account
- 如果是所属的组织没有显示出来,可以点击Review and add 进行授权同步。
.travis.yml
.travis.yml
文件是Travis服务读取项目配置的文件,支持多种语言,这里是GoLang的参考配置,支持上面介绍的打包部署。配置项这里不细讲,网上有很多介绍的文章。- 可以在
Job log
控制台看到执行情况。
⚠️踩坑记录
- Travis打包部署到GitHub需要授权,可以通过Token的形式进行授权,这需要在
.travis.yml
配置文件的deploy
块的 api_key 进行说明,然后需要在 Github Token 页生成一个包含repo
权限的Token,然后在Travis项目的设置页面Environment Variables
新增一条配置:Name
为你在api_key
处声明的变量,Value
为生成的Token.