Linux 上使用 Jenkins 设置 Hexo 自动部署排坑指南
2020年11月07日
最近想尝试一下自动化的东西,于是就想起了 Jenkins,但是又没啥特别合适的工作流,就准备试试把我的博客设置为自动部署。
设置的流程我就不细讲了,很简单,而且网上教程很多,下面就列举一些遇到的坑:
Ubuntu
安装jenkins
报错gpg: no valid OpenPGP data found.
1 | 解决方式: |
jenkins
无法读取npm
- 安装以下插件
- 在
全局工具配置
->NodeJS
里面配置安装版本以及需要的全局包
- 最后在工作流配置的
构建环境
选择如下配置
基于
gitee
的项目提交触发Webhook
从而自动部署- 安装
gitee
插件 - 在工作流的
构建触发器
完成以下配置(记得点击右下角的生成)
- 在
gitee
对应的项目设置中生成 WebHook- 填写
URL
(来自于第 2 步中jenkins
提供的URL
) - 填写密码 (来自第 2 步中生成的密码)
- 填写
- 添加完成,可以在目录页点击测试
- 安装
Hexo 中使用
ssh
自动上传,显示认证失败- 在服务器创建 ssh key
- 由于此 key 生成于系统账号下,
Jenkins
使用的是自己的账号权限,所以我们需要把系统的 ssh key 复制过去
1
2
3
4cp ~/.ssh/id_rsa.pub /var/lib/jenkins/.ssh/
cp ~/.ssh/id_rsa /var/lib/jenkins/.ssh/
# 第一次链接需要手动把 ip 加入信任,所以可以直接把 known_hosts 文件一起复制过去
cp ~/.ssh/known_hosts /var/lib/jenkins/.ssh/- 需要把权限所有者改为
Jenkins
1
sudo chown jenkins /var/lib/jenkins/.ssh/*