Jenkins+Gogs+Hexo实现自动化部署博客
流程介绍
流程:本地博文仓库 push
至 Gogs远程博文仓库,Gogs
的 Web钩子
推送事件至服务器 Jenkins
,Jenkins
收到消息后执行脚本,pull
博文至 hexo
目录,然后执行 hexo g
生成静态文件。
使用前准备
- 服务器已安装配置好
Git
,若没有安装,可参考 Linux环境下安装、升级Git 进行安装; - 服务器已安装
Hexo
程序,若没有安装,可参考 Hexo 文档 进行安装; - 服务器已安装配置好
Gogs
,若没有安装,可参考 CentOS 7搭建Gogs服务 进行安装; - 服务器已安装配置好
Jenkins
,若没有安装,可参考 CentOS环境下安装与配置Jenkins 进行安装; - 服务器已安装配置好
Nginx
并为Hexo
生成的静态文件目录创建站点;
Jenkins配置
安装 gogs-webhook
插件
通过面板安装
操作步骤:系统管理
-> 插件管理
-> 可选插件
,在搜索框中输入 gogs
,勾选插件后单击 直接安装
按钮;
手动安装
有时通过面板安装可能会因网络问题导致安装失败,所以只能手动安装插件。
下载 gogs-webhook插件;
单击
系统管理
->插件管理
->高级
,在 上传插件 表单选择已下载的插件文件,单击上传
;
配置任务
- 创建新任务
- 配置Gogs密钥
可根据自身需求修改密钥;
- 源码管理
- 构建触发器
在 构建触发器
中勾选 Build when a change is pushed to Gogs
;在 构建
步骤中新增 执行shell
;
执行脚本内容:
1
2
3
4
5
6
7
8
9!/bin/bash
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/git/bin
cd /var/www/hexo/source/_posts
git pull origin master
cd /var/www/hexo
清理已生成文件
hexo clean
重新生成
hexo g
其中 /var/www/hexo/source/_posts
为 hexo
源文件存放目录并已保存 git
相关信息,需根据自身需求修改对应的路径;
修改权限
修改 /etc/sysconfig/jenkins
中的 JENKINS_USER
为 root
:
1
JENKINS_USER="root"
修改 jenkins
相关目录权限:
1
2
3chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
重启jenkins
1
2 重启jenkins
systemctl restart jenkins
Gogs配置
- 进入仓库主页,单击
仓库设置
;
- 单击
管理Web钩子
->添加Web钩子
,选择Gogs
;
- 添加配置:
其中 推送地址 格式为 http(s)://<你的Jenkins地址>/gogs-webhook/?job=<你的Jenkins任务名>
。
Jenkins调试
- 在
Gogs
仓库设置面板中单击测试推送
按钮;
- 返回到
Jenkins
面板,进入任务面板,单击最新构建记录;单击控制台输出
查看输出信息;
- 查看博客网站是否有更新变化。
参考
[小题大做]Github + Jenkins 实现自动化部署 hexo 博客静态文件
以上是 Jenkins+Gogs+Hexo实现自动化部署博客 的全部内容, 来源链接: utcz.com/a/131888.html