一般地,我们的博客站点放在github-pages上就足矣了,所以上两篇文章中,我们着重介绍了基于travis-ci和Github来自动化部署我们的站点(上、中)。零成本 + 流畅的写作体验 = 口碑爆好!
然而,我们在愉快的创作之余,也不能忽视:即使是这么完美的方案,依旧存在一些小缺陷:
- Github站点,国内各大搜索引擎基本未收纳,也就是说你的文章很难被用户搜索到
- Github在国内的网速很慢,用户很难一直等待加载中的页面
- 在github-pages上部署的站点,域名很长,很难被用户记住
基于此,我们还有最后的大招,但涉及的知识也挺多,所以不适合新手。至少得用过点linux系统,我们先看下待会要用到的资源和技能:
- centos服务器一台
- 装上nginx、Jenkins
- 域名一个
web hooks
我们都知道钩子的概念在前端框架中用的很多,React、Vue的生命周期都是一个一个钩子。web hooks和生命周期很像,只不过是换了主语和宾语,这里的主语是github,宾语是Jenkins,用图表示:

需要安装的Jenkins插件
- Generic Webhook Trigger Plugin
- Publish Over SSH
第一个是为了配置钩子,第二个是为了连接服务器,我们先去Jenkins-系统配置中将服务器配置好


Remote Directory是博客构建后代码放置的位置
生成hooks
在Jenkins的用户管理中生成Api Token


为Github的仓库配置web hooks

配置Jenkins项目
构建触发器

选择构建环境

构建脚本

构建后操作

测试
现在,提交点代码,去Jenkins就能看到相关的构建信息了

Nginx
下一步就是nginx的配置,这一步相对简单
server {
listen 80;
server_name wwww.xxxxx.com;
location / {
root /home/blog;
index index.html;
}
}
最后reload一下nginx即可
nginx -s reload
到这里,就可以通过自己的域名wwww.xxxxx.com访问博客了
注意
因为涉及的东西比较多,所以很多都是配了图而缺少文字解释,后面等我有时间,我再慢慢补充,慢慢解释。老铁们要是有问题或者疑问,欢迎留言,我会认真解答的!