前言
一直搭建jekyll以来只在线下使用,仅仅使用git放在服务器上作为远程仓库帮忙管理, 主要是jekyll部署时候比较麻烦(除直接使用jekyll serve,但这样会带来安全上的隐患), 所以一直都没有更新线上的jekyll博客。
由于最近需要把相当部分的代码加入CI,顺便着把jekyll也纳入其中。
由于本身需求的服务并不多,加上并不想将个人博客丢在第三方git平台, git仓库跟CI均使用能自行部署的组件,所以这就用了这老三样:
- Docker
- Jenkins CI
- Gogs
选择各组件理由
- Docker:虽然现在云服务器支持使用k3s进行容器管理,但资源消耗来说还是docker swarm更低些。
- Jenkins CI: 经典的CI/CD组件,虽然跟后期之秀比性能消耗比较大,但是插件够多,就CI来说性能影响并不大。
- Gogs:轻量级的git管理工具,如果不想起Mairadb服务使用Sqlite也合适,自身还带Webhook等功能。
开整
安装Docker
这里使用系统本身的包管理器安装docker即可,亦可使用Docker官方给的教程添加Docker第三方源安装最新版。 Docker 官方安装文档
使用Docker部署Gogs和Jenkins服务
Gogs.yml