多节点持续部署白瞟篇
对于中小型项目部署而言,还是尽可能的节省资源,(抠门~~~) 再去自搭个gitlab-ci,或者jenkins去做持续部署就有点大炮打蚊子了。 于是Github Actions 了解一下,整了一下白瞟方案。 基础的知识学习可以去看阮博士的 GitHub Actions 入门教程 ,在此不赘述。
资源
网上瞟了一圈,目前比较实用的一些actions有如下:
github,gitee上都支持私库了代码双份同步他难道不香吗?
如果你的代码是托管在自搭或其他服务商的平台上的用这个纯ssh协议的镜像actions就对了。
现在已经追求简约风了,hugo的基本功能做博客绰绰有余,用这个再结合peaceiris/actions-gh-pages基本上github.io的镜像自动发布也一步到位了。
自动化发布静态内容到GitHub Pages上形成xxx.github.io的独立站点(有钱买米CNAME一下更可个性化)
基本上在项目的secrets里配好私钥,再结合这个ssh的action可以对你自己的服务器为所欲为
设计
-
代码仓库同步使用 Hub Mirror Action 做github,gitee同步,白瞟目标1达成。
-
github的gh-pages服务直接使用 GitHub Actions for Hugo + GitHub Actions for GitHub Pages 构建即可,白瞟目标2达成。
-
自有vps配好部署公钥后,代码仓库使用GitHub Action SSH 做vps本地script/shell指令的执行,白瞟目标3达成。
其他
对于国内的服务器而言,用github是会时常撞墙的,所以国内的服务器使用gitee的仓库,但依赖github-acions的回国链路来做部署,不知道何时也会撞墙, 看了一下,貌似gitee这边是支持 百度效率云的DevOps的服务 的,所以也可以拿来白瞟,配置过程略复杂,在此不赘述了,有兴趣的可以来捣鼓一下。 用了一下基本上是和阿里云的Pipeline一个套路,装个java的agent到你的vps节点上,然后后台配置脚本内容和路径,基本和jenkins差不多,国内免撞墙自动部署,白瞟目标达成+1。