记一次Github Actions自动化部署实践
十月 05, 2020
本文共计:
783 字
预计阅读时长:
3分钟
写在前面的话,事情应该发生在去年我换电脑的时候,因为博客使用hexo
搭建的,所以源代码也就都遗留在了本地,每次发布的时候只提交generator
之后剩余的静态资源文件。
但是换完电脑忘记拷贝源代码了,所以给自己埋的坑就是原来写的博客源文件全部遗失。不过没关系,正好我有重头开始的准备。
这不,Github Action
出现了,从根本上解决了我的痛点。
认知储备
什么是Github Actions
?
直接点击传送门,看看阮一峰大佬的Github Actions 入门教程;
git
公钥、私钥的理解
git
的公钥与私钥好比钥匙与锁的关系,一个公钥对应一个私钥。
如何生成?
1 | $ ssh-keygen -t rsa -C 'your email' |
会有两个文件,一个文件是xxx.pub
是公钥,xxx
是私钥与之对应。
具体解释,参见 服务器上的 Git - 生成 SSH 公钥
怎么理解Hexo
博客自动部署?
简单来讲就是借助Github Actions
所提供的虚拟机环境,读取博客源仓库
所携带的私钥,写入虚拟机环境的~/.ssh/id_rsa
,保证正常push
可以有权限进行。而对应的公钥则是保留在目标仓库里面。
其实核心操作还是Hexo
提供的deploy commond
;
当执行
hexo deploy
时,Hexo
会将public
目录中的文件和目录推送至_config.yml
中指定的远端仓库和分支中,并且完全覆盖该分支下的已有内容。
开始部署
文章假设你已经准备好了两个仓库blog(应该设置为私有仓库,毕竟一些隐私密码都会存在这里)
andxxx.github.io
。前者用于存放hexo博客源代码,后者用于自动部署的仓库。
绑定公钥与私钥,公钥
—–>xxx.github.io
,私钥
—–>blog
;
下图应该详细阐述了怎么绑定公钥与私钥~
编写Github Actions workflow file
1 | name: Deploy Blog |
温馨提示: 别懵了啊,这个文件是在blog
仓库下建立的。
The End
最后,来看看我们的成果吧~
有没有视觉疲劳呢?来放松一下吧~
查看评论