使用 GitHub Actions 部署博客到 GitHub Pages
Contents
[NOTE] Updated October 29, 2022. This article may have outdated content or subject matter.
笔者目前的博客使用的是 Vuepress, 参考文档,使用 Travis CI
实现了博客推送更新后自动部署。
最近了解到 GitHub Actions
,遂将博客的自动部署改为 GitHub Actions
, 本文将简单介绍 GitHub Actions
以及笔者博客如何实现自动部署。
GitHub Actions
为什么用 GitHub Actions
尝鲜
它和 `GitHub` 集成到一起,方便
有很多别人已经写好的 actions 可以直接拿来用,避免重复造轮子,节省时间
…
什么是 GitHub Actions
Event-Driven
GitHub Actions are event-driven, meaning that you can run a series of commands after a specified event has occurred
GitHub Actions
它是事件驱动的,当某个事件,例如 push
, merge
发生的时候,就触发对应的处理 workflows
创建 GitHub Actions
在 Git 仓库下创建
.github/workflows
目录, 目录下创建一个对应的xxxx.yaml
配置文件,每个yaml
文件对应一个workflows
一个
xxx.yaml
文件,内容大致如下:(这是我的博客的部署workflows
, 具体含义见注释)
|
|
部署博客的 workflows
还是蛮简单的,阅读配置文件,可以发现 GitHub Actions
的大致流程是这样的:
当某个事件发生,例如
push
触发
workflows
, 对应.github/workflows
目录下定义的yaml
配置每个
workflows
定义匹配什么事件 (
on: push
)定义都有那些任务 (
jobs
)jobs
中定义任务的执行环境 (runs-on
)每个
jobs
是由一个一个步骤 (steps
) 组成的每个
steps
可以是uses
别人写好的actions
run
自己定义的命令
所以,思考你想在仓库发生什么事件时,做什么任务,这个任务具体包含哪些步骤,然后编写一个配置文件,就差不多了。