持续集成是指代码提到到仓库后的所有:服务器编译、测试、打包、部署自动执行
上次,写了一篇关于Jenkins的搭建流程,也实现了推送后的webhooks钩子响应并编译发布
而本篇介绍的Github Actions则是代替Jenkins手工搭建,并节省服务器资源的一种新方式
Actions
熟悉vuex/redux的童鞋一定不陌生这个词
vuex中表示保存异步修改状态的方法
redux中表示触发store中的数据更新的唯一来源
而这里,每一个操作/脚本可以理解为一个action,叠加起来很多操作就是actions
github有一个官方市场可以让你的项目添加不同的action
创建action工作流
在仓库的actions选项卡中, set up a workflow yourself
发布到github则需要 GitHub 密钥,在仓库的Settings/Secrets新建一个
github提供的服务器
- 2核 CPU
- 7GB RAM
- 14GB SSD
执行结果
- runner: github 分配的用来执行 CI/CD 的构建服务器 (也可以自建 runner)
- workflow: CI/CD 的工作流
- job: 任务,比如构建,测试和部署。每个 workflow 由多个 job 组成
- step: 每个 job 由多个 step 组成
编写action
配置文件在仓库的.github/workflows目录下,格式为yaml,像hexo就是这种.yml啦
在new时可以直接选择nodejs的action,
1 | name: demo # 脚本名 |
ssh自动登陆服务器打包
推送后,自动拉取最新代码打包
进入服务器,进入目录,拉取代码,打包,完成