Github Actions使用教程
原文发布在:
本文不假设你有持续构建的经验 但假设你有
- 基本的Git经验
- Github帐号
Github Actions从今年开始公测,推出时间不长,除了官方文档以外教程不多。我们(卡拉搜索)通过一周的尝试,用Actions极大地提升了开发效率,于是把这篇教程写出来,希望可以帮助到准备尝试的同学。
如果你有10分钟的话,可以考虑参考本文尝试一下Actions,它可以帮你做到各种各样的事情,包括
- 一键完成一个工作流程
- 自动发布静态blog文章至博客
- 测试,打包并将服务推送且发布至服务器
最妙的是,Github很大程度上提供了个人开发者都用不完的额度,可以完全无成本尝试。如果你跟我们一样,是个人开发者或者小团队,可以尝试一下🥳
为什么要用Github Actions
对于在Google,Microsoft,头条京东之类一线大公司工作的同学们来说,除了免费的食堂和各种福利以外,工作时不用不停地搭环境、建基础服务也算是一个非常省心的福利了。
试想一下,这个季度的KPI全是降低服务延迟,但是突然老板告诉你,抱歉测试构建环境自己搭——这得消耗掉多少时间。除了写代码的时间,你还得记得先跑测试,然后编译好代码,安装好依赖之后,把代码放到服务器上跑起来。
当然了,你可以使用Jenkins这样的现代CI/CD工具。不少公司的持续集成也是基于Jenkins做的。
但对于不少创业公司甚至中型公司来讲,维护Jenkins也是个头疼的问题。搭一个Jenkins,几个小时就过去了,还得费个心思琢磨着服务器是不是稳定,可能还得一个对运维比较熟悉的同学专门来操心这个事儿。
Github Actions可以非常好地解决以上问题。你可以把它想象成一个已经操心好细节的Jenkins,你要做的只是写一个 YAML文件,告诉它应该怎样构建你的工作流即可。
最近我们在开发的过程中,也将所有的服务测试构建打包和部署流程,从Jenkins迁移了过去。Github Actions虽然是一个新推出的服务,但是从我们的踩坑经验来看,体验非常不错,于是我们把学习的经验写出来,希望可以帮到其它朋友们。
总结一下,Github Actions的优点有:
- 免费
- 极快(我们的本地构建大致在10分钟左右,Github Actions上3分钟)
- 无需翻墙
- 构建在Github服务器上,因此依赖下载极快
- Github服务器与国内通信极快(我们的服务器在国内某大厂,数百M的docker image传输时间在1分钟左右)
Github Actions简介
Github Actions是Github于2019年公测,于近期(2019年11月左右)正式推出的workflow工作流服务。简单讲,之前在Jenkins上做的很多事情,可以迁到Github Actions。
而且由于和github本身的深度集成,非常适合中小型公司和个人开发者使用。最棒的是,在有限的使用量下,这个服务还是免费的。