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

推荐订阅源

N
News and Events Feed by Topic
T
The Exploit Database - CXSecurity.com
P
Palo Alto Networks Blog
T
Threat Research - Cisco Blogs
Cloudbric
Cloudbric
Recent Commits to openclaw:main
Recent Commits to openclaw:main
I
Intezer
Attack and Defense Labs
Attack and Defense Labs
P
Privacy International News Feed
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
L
Lohrmann on Cybersecurity
C
Cybersecurity and Infrastructure Security Agency CISA
V2EX - 技术
V2EX - 技术
AWS News Blog
AWS News Blog
O
OpenAI News
L
LINUX DO - 最新话题
N
News | PayPal Newsroom
PCI Perspectives
PCI Perspectives
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Troy Hunt's Blog
Latest news
Latest news
D
Darknet – Hacking Tools, Hacker News & Cyber Security
A
Arctic Wolf
Spread Privacy
Spread Privacy
G
GRAHAM CLULEY
T
Tor Project blog
博客园_首页
Know Your Adversary
Know Your Adversary
有赞技术团队
有赞技术团队
S
Secure Thoughts
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
爱范儿
爱范儿
T
Tailwind CSS Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
V
Visual Studio Blog
J
Java Code Geeks
Cisco Talos Blog
Cisco Talos Blog
Schneier on Security
Schneier on Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Security Affairs
Jina AI
Jina AI
人人都是产品经理
人人都是产品经理
雷峰网
雷峰网
宝玉的分享
宝玉的分享
量子位
Last Week in AI
Last Week in AI
月光博客
月光博客
罗磊的独立博客
S
SegmentFault 最新的问题

Dr34m's Blog

I Expect You To Die(我希望你死) 1,2,3 完整中文攻略 Linux换国内源 && docker安装 && 换加速镜像 Vue3 + Element-Plus 极简速查 随笔 pyinstaller打包的程序执行报错Failed to extract xxxx decompression resulted in return code -1 taoSync排除项简易教程 apscheduler的cron配置项 如何在绿联NAS中使用TaoSync同步我的文件到各个网盘 GB28181抓包记录 JS计算字节大小,把字节转换为KB/MB/GB/TB等 在Python中使用onvif管理摄像头,包括设备发现,获取RTSP地址,获取设备信息,截图,云台控制与缩放,设置时间 编写bat脚本实现对vue项目构建并压缩 内网穿透工具frp快速使用 CentOS 7.9 安装基础开发环境jdk redis nacos nginx mysql Pyinstaller 逆向 VUE实现复制与粘贴_获取剪切板内容 Electron + xterm.js + node-pty + vue 实现本地终端 child_process exec 中文乱码 Windows&Linux 解决方法 yum 更新 gcc CentOS安装并使用conda 将fluid主题博客的静态资源由第三方改为本地存储 一个上手即用的通用公众号/小程序/h5/app框架 python批量转化doc到docx SpringBoot单元测试注入空指针 TensorFlow 预测出现NaN的一种可能以及解决方法 随笔 python归一化数据 windows下python安装sasl遇到的问题及解决 将对象List中的某个字段放到新的List中[转载] Python http.server 本地服务支持跨域 TensorFlow入门 Flink学习笔记 windows本地配置spark开发环境 dataX使用 Apache Hive 学习笔记 hadoop学习笔记 element-ui 自带事件添加自定义参数 windows 11安装安卓应用程序 centos7安装zookeeper centos7安装jdk8 用idea开发spring项目过程中热重启 docker学习笔记 CentOS7安装k8s集群 通过Github Actions部署静态网站到腾讯云COS,并自动刷新CDN 用Typora编写Hexo博客时图片的处理 Hexo + Github Actions 提交代码自动部署 云服务器 腾讯云COS github-pages 常用的Linux进程基本命令 python实现微信jsapi签名 VsCode开发Python常用配置 mysql获取当期日期是该年第几周 LocalDate获取当前周周一日期 删除node_modules重新安装 基于firewalld端口转发 pip 安装 tensorflow MemoryError Java过滤html标签 mysql清空表,并让自增从0开始 JavaScript获取当前周或下n周的周n的日期 java复制不同实体类中相同的字段 前端下载二进制文件 mysql获取最近一段时间数据 python - pip换源 svn提交后jenkins自动部署 常见nginx反向代理配置 h5实现一种自动滚动的告警列表 nginx代理网站子目录到本地目录 centos中jenkins配置环境变量 centos安装jenkins centos安装svn服务器 Ubuntu 20.04 换国内源 Vs Code编写md文件实现实时预览 Python自动处理依赖 海滨校园助手api使用文档 hexo-yilia主题相册 Java实现文件重命名,Java文件追加写入,java读取图片尺寸 Hexo安装配置并托管至github 新起点,新征程 在ubuntu安装jdk并配置环境变量 一个不到300行的C语言消灭敌机游戏 搭建L(Linux)+A(Apache)+M(MySQL)+P(PHP)网站环境,并安装Discuz 搭建L(Linux)+N(Nginx)+M(MySQL)+P(PHP)网站环境,并安装Wordpress NSA工具包验证之RDP漏洞利用 NSA工具包验证之IIS6.0漏洞利用 NSA工具包验证之SMB漏洞利用 SEO Ultimate 7.6.5.9汉化版(中文版)免费下载 在腾讯云服务器搭建FBCTF平台 FBCTF汉化简体中文免费下载,FBCTF更新缓存代码 wordpress发送邮件设置以及常见问题解决 短网址 一个小白的自学建站史(菜鸟建站入门) 危山 水调歌头 水调歌头
centos下hexo + svn + jenkins实现博客自动部署
Dr3@m · 2020-11-04 · via Dr34m's Blog

起由:hexo是一个很好用的轻量级博客系统,生成纯静态相对安全而且高性能,但是每次写完博文都需要手动生成静态文件,部署到服务器,影响生活,于是就考虑使用jenkins实现自动部署。

如果希望通过github的actions来实现,可以参考Hexo + Github Actions 实现提交代码自动部署并通过FTP传到云服务器

一、前提

会用hexosvn,拥有自己的服务器,安装好jenkins,并把hexo目录中文件同步到svn,其中db.jsonpublic/node_modules/无需上传,本文假设你已经把它上传到svn://xxx.cn/hexo,svn账号密码都为admin

二、准备

1.系统安装node.js

1
2
3
4
5
6
7
8
cd /home
mkdir node
cd /node
wget https://nodejs.org/dist/v14.15.0/node-v14.15.0-linux-x64.tar.xz
tar -xf node-v14.15.0-linux-x64.tar.xz
cd node-v14.15.0-linux-x64
ln -s /home/node/node-v14.15.0-linux-x64/bin/node /usr/local/bin/
ln -s /home/node/node-v14.15.0-linux-x64/bin/npm /usr/local/bin/

2.安装hexo

1
npm install hexo-cli -g

3.配置环境变量

参考这篇博文

三、jenkins配置

  • 登录到jenkins,进入系统管理-插件管理,点击可选插件,搜索SVN,找到SVN 1.4 Compatibility Plugin并安装。

  • 点击右上角用户的下拉,点击凭据,如图

  • 点击域-全局下拉-添加凭据,如图

  • 输入SVN账号,密码,ID(自己造)和描述,点击确定,如图

  • 进入jenkins首页,左上角新建任务,输入任务名,选择构建自由风格项目,点击确定,如图

  • 确定后会进入配置页面,输入描述,例如hexo自动构建,勾选丢弃旧的构建保持构建的最大个数建议输入10,源码管理Subversion,然后输入svn地址、选择svn账号,如图

  • 构建中点击增加构建步骤,点击执行shell,命令如下

    1
    2
    3
    4
    5
    6
    7
    #!/bin/bash
    rm -rf ./hexo.zip #如果不需要归档,则删除此行
    npm install --unsafe-perm
    hexo clean
    hexo g
    cd public #如果不需要归档,则删除此行
    zip -r ../hexo.zip ./* #如果不需要归档,则删除此行
  • (可选归档)构建后操作增加构建后操作步骤,点击归档成品用于存档的文件输入hexo.zip

  • 保存后进入刚创建的任务,点击立即构建,进入构建历史中找到正在构建的任务,点进去查看控制台输出,如果最后返回Finished: SUCCESS则说明构建成功。

  • 构建的控制台输出开头会告诉你构建位置,如图,可知构建在/var/lib/jenkins/workspace/blog

  • 将nginx指向/var/lib/jenkins/workspace/blog/public,打开nginx中配置的链接即可访问博客。