飞雪连天射白鹿,笑书神侠倚碧鸳

0%

持续集成之Github Actions

持续集成是指代码提到到仓库后的所有:服务器编译、测试、打包、部署自动执行

上次,写了一篇关于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
2
3
4
5
6
7
8
9
10
11
12
name: demo # 脚本名
on: # 触发条件为推送到master分支
push:
branches:
- master
jobs: # 需要执行的动作
build: # 用ubuntu执行构建,uses是用了什么库
name: build
runs-on: ubuntu-latest
steps:
- name: xxx
uses: appleboy/ssh-action@master

ssh自动登陆服务器打包

推送后,自动拉取最新代码打包

自动模拟ssh登录

进入服务器,进入目录,拉取代码,打包,完成


听说,打赏我的人最后都找到了真爱
↘ 此处应有打赏 ↙
// 用户脚本