告别自建CI,博客改用GitHub Actions自动化部署
背景 之前这个博客的自动化部署一直是用自建 Drone CI 来跑的,相关文章可以翻翻:Blog All Process 和 Drone自动化部署Java应用。 用了两三年,功能上没问题,push 代码后自动构建部署一条龙。但最近越来越觉得维护这套东西的成本太高了: 需要一台服务器专门跑 Drone——drone-server + drone-runner-docker 两个容器,还得配 NGINX 反代、HTTPS 证书 GitHub OAuth 应用要维护——Drone 登录依赖 GitHub OAuth,得在 GitHub 上建 OAuth App,配回调地址 服务器迁移就全得重来——之前从宝塔换到 1Panel,Drone 的 docker socket 映射、目录映射全部得重新搞 资源占用不划算——就为了跑个博客构建,长期跑两个容器,内存白白占着 说白了,就我一个用户,建一个博客项目,为了这点需求长期维护一套 CI 系统,性价比太低了。 于是就想,能不能把这套东西干掉,找个现成的、不用自己维护的方案。 方案选择 目前主流的 CI 服务就这几个: GitHub Actions——GitHub 自带的,免费额度够用,仓库就在 GitHub 上,天然集成 GitLab CI——如果项目放 GitLab 上可以用,但我项目已经在 GitHub 了 Jenkins——更重了,跟 Drone 一个性质,需要自己维护服务器 Drone Cloud——官方托管版,但免费额度有限 没怎么犹豫就选了 GitHub Actions,原因很简单: 仓库本身就在 GitHub 上,push 就触发,零延迟 免费额度:每月 2000 分钟,博客构建一次不到 2 分钟,根本用不完 不用维护任何服务器,GitHub 帮你跑 配置就是一个 .yml 文件,放项目里就行 之前的部署流程 先回顾一下之前 Drone 的流程长什么样: ...