我本来想弄一个线上的个人博客,然后在github上注册两个仓库,一个仓库存放个人博客源码,一个仓库存放打包后的博客文章html。果不奇然就踩坑了。
github的actions是一个持续集成的工具,类似java的jekins,actions中需要编写流水线脚本,脚本并不难,只是环境的熟悉。github pages 是一个静态网站服务,只要你按照特定规则在指定的仓库或者分支上存放html代码,就可以通过特定规则的url去访问到该静态页面网站,很方便。
创建密钥
由于你要从一个仓库的actions中把代码发布到另一个仓库中,那么就需要配置相应的公钥和私钥。那么首先就是生成公钥和私钥,具体如下:ssh-keygen -t rsa -b 4096 -C "$(git config user.email)" -f gh-pages -N ""
。然后你就会在命令行中看到这个。
添加公钥
看到如上图所示之后,你当前的目录下就会有两个文件,分别是gh-pages 和 gh-pages.pub,gh-pages.pub中内容就是公钥,需要你将内容放到存放博客文章html的仓库下,这个仓库一般都是叫user
/user
.github.io,然后如下图:
点击Add deploy key,添加公钥的内容到图下,然后提交即可。
那么私钥中内容要存到哪里呢?
私钥要放到存放个人博客源码的仓库中,一样的,仓库中Settings界面。
之后将gh-pages.pub的内容存放到这里即可。
actions流水线脚本的设置
先进入存放个人博客源码仓库的Actions中,如图:
然后进入这个界面,如图:
你可以搜索你需要的流水线脚本类型,我这里只需要最简单的 Simple workflow
之后会出现一个编辑流水线脚本的界面,编写脚本完毕后,点击按钮,即可提交脚本,并使用流水线来运行工作任务了。
基本的需求到这里就结束了,踩了不少坑,最终还是达到了自己的期望,要更进一步的话,可以查看这篇文章,它可以同步到其它平台的仓库中去噢,比如 gitee等。
https://zhuanlan.zhihu.com/p/353862378
总结
github 的actions 和 pages 很多年前就玩过,由于工作性质原因,并没有长期的使用,今天尝试弄这个,的确有好多盲点,查阅了相关资料和请教了一些群友,磕磕绊绊最终还是完成了。不过这真是个好玩意,非常的方便。