惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog
T
The Blog of Author Tim Ferriss
J
Java Code Geeks
腾讯CDC
D
Docker
G
Google Developers Blog
D
DataBreaches.Net
雷峰网
雷峰网
Blog — PlanetScale
Blog — PlanetScale
S
SegmentFault 最新的问题
The Cloudflare Blog
有赞技术团队
有赞技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Stack Overflow Blog
Stack Overflow Blog
大猫的无限游戏
大猫的无限游戏
量子位
美团技术团队
aimingoo的专栏
aimingoo的专栏
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Engineering at Meta
Engineering at Meta
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

牧尘的NAS小站

大模型到底在干嘛 Claude 内部提示词手册公开(精选10条) AI现阶段常见新词汇出现背景(二) AI现阶段常见新词汇出现背景(一) Windows 下 OpenCV 编译与 GoCV 安装实战 CookLikeHOC:用老乡鸡的方式烹饪美味,轻松上手的JavaScript项目! SQLBot:问数新纪元的智能助手 🚀 什么是NAT?NAS远程访问绕不开的网络魔法 MySQL慢SQL处理 向量数据库介绍 NAS使用SnappyMail搭建个人WebMail 使用VirtualBox虚拟机安装群晖7.1系统 网络文件夹目前是以其他用户名和密码进行映射的 Nastool中IYUU插件修复 linux文件的特殊权限 linux文件的隐藏属性 个人下载记录 个人Docker镜像记录 Hexo博客放到OSS并自动更新
Hexo配合Jenkins自动部署博客
牧尘 · 2024-03-01 · via 牧尘的NAS小站

发表于|更新于|技术随笔

|字数总计:731|阅读时长:2分钟|阅读量:

上一篇文章我描述了怎么把写的文章自动推送到OSS,但是还存在一个问题,我的博客代码是托管在自己部署的gitea服务器上的,每次写完文章都需要自动部署,然后提交代码。还是不够方便,那么有没有一种方式能提交代码后自动推送oss呢?

本文就介绍一种利用Jenkins来自动拉取提交的代码,然后推送到OSS。实现每次写完文章只需要提交代码就可以了。下面介绍具体的步骤

Docker安装Jenkins

找到合适的位置创建目录jenkins。
使用docker-compose的方式安装jenkins,下面给出docker-compose.yml文件内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
---
version: "3"
services:
jenkins:
image: jenkins/jenkins:latest
container_name: jenkins
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- ./home:/var/jenkins_home
- ./data:/var/jenkins_data
- /etc/localtime:/etc/localtime
ports:
- 8080:8080
labels:
- "traefik.enable=true"

- "traefik.http.services.jenkins.loadbalancer.server.port=8080"

- "traefik.http.routers.jenkins.entrypoints=web"
- "traefik.http.routers.jenkins.service=jenkins"
- "traefik.http.routers.jenkins.rule=Host(`jenkins.xxxxxx.cn`)"

- "traefik.http.routers.jenkins_https.entrypoints=websecure"
- "traefik.http.routers.jenkins_https.service=jenkins"
- "traefik.http.routers.jenkins_https.rule=Host(`jenkins.xxxxxx.cn`)"
restart: unless-stopped
networks:
default:
external:
name: docker_default

进入jenkins目录并执行命令

1
2
3
4
5

docker network create -d bridge --attachable=true docker_default

docker-compose up -d
docker-compose logs -f

随后使用 ip:8080访问jenkins,在日志里找到jenkin的默认密码登录并初始化Jenkins,这一步不再介绍,正常初始化就行。

下载nodejs

正常安装完jenkins后我们下载nodejs,如下图:

进入jenkins目录下的data目录,把刚才下载的nodejs放在data目录并解压。

配置jenkins

在jenkins主页点击Manage Jenkins–>Tools

随后往下滑到nodejs安装,按下图所示进行配置。

其中安装目录里的node-v18.12.1-linux-x64按自己的实际版本修改,随后保存。

新建构建

在jellyfin主页点击新建Item来新建一个构建。

随便命个名字并选择Freestyle project,点击确定

在源码管理处选择git仓库,这里我填写自己部署的gitea的blog仓库。
Credentials自行添加。

构建触发器选则轮询,并15S查询一次。

有精力的也可以下载generic webhook插件,使用webhook的方式,实时性更好,在此不再介绍,有需要的评论区留言。

构建环境需要选择Nodejs

Build Steps里面添加执行Shell,并添加如下命令。

1
2
3
4
5
6
npm config set registry https://registry.npmmirror.com/
npm install hexo-cli -g
npm install
hexo clean
hexo g
hexo d

随后点击保存就可以了。

我们可以点击立即构建查看配置是否有问题,没问题的话就可以实现提交代码自动部署静态博客了。。
当然,有问题的小伙伴可以在评论区留言。

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 牧尘的NAS小站

赞助

  • 微信

    微信