hexo+windows服务器IIS+gitee实现自动部署

hexo+windows服务器IIS+gitee实现自动部署

使用该技术的网站案例:步步为营 (bubuweiying.site)

使用Hexo

安装

在windows上安装及其简单,安装两个软件就可以,傻瓜式的下一步即可

  • Node.js (Node.js 版本需不低于 10.13,建议使用 Node.js 12.0 及以上版本)
  • Git

安装完上面两个软件之后,使用命令安装Hexo框架npm install -g hexo-cli

到此,hexo的准备工作完成

建站

  1. 初始化网站
1
2
3
$ hexo init <文件夹>
$ cd <folder>
$ npm install
  1. 设置网站配置信息

初始化后,目录下会有个_config.yml文件,该文件可以直接对网站进行配置,具体参数请见配置 | Hexo

  1. 写作

配置完成后,使用命令 hexo new <title>创建一个markdown文档进行写作,文档存储在source/_posts目录下。

  1. 预览及生成

写作完成后,使用hexo server进行本地预览,访问网址默认是http://localhost:4000/

预览没有问题后,可以直接使用hexo generate进行网站生成,并用来发布。

关于其他的配置及hexo的命令可以查看官方文档文档 | Hexo

主题

hexo默认的样式还是有些单调,不过网上提供了很多免费的主题,可以直接安装使用,主题仓库主题 | Hexo,里面有大量的主题,选择一个你喜欢的即可。

image-20240328105221136

安装主题

选择主题后,一般会在主题的readme中有使用该主题的详细方法,作者喜欢简单风格的主题,选择的是Icarus主题,该主题reddme中详细说明了如何安装使用以及如何配置等信息,按照说明做即可。

image-20240328105714438

至此,网站制作完成

Windows服务器部署

很多人会把制作好的网站托管到Github上,但是托管到上面的网站是不被搜索引擎收录的。作为一个纯静态的博客网站,不想用Linux的各种命令,直接使用Windows的IIS进行部署。

IIS进行hexo的部署简直简单至极,上一步执行hexo generate后,会生成一个public目录,其实里面就是hexo自动为我们生成的静态网页,但是仅仅把public部署到服务器中是没有样式的,所以一定要把包含public目录的整个工程目录全部部署到windows服务器,并指定物理路径到public目录,然后设置网站的访问权限,就大功告成。

image-20240328111118195

自动部署

假如我每次在本地新增或修改博客后,执行hexo generate,再把生成的文件拷贝到服务器中,那就太麻烦了,自动部署就是本地更新网站后,服务器会自动更新

网上很多教程是使用github的git hook来实现,但是国内访问github有时候很慢,甚至打不开。所以我们使用国内版的github—Gitee,该平台会给个人5G的免费容量(完全够用了,你要写多少博客才能有5G呀~~),重要的是,gitee仓库具有流水线的功能,可简化自动部署流程。

建立远程仓库

免费注册Gitee账号,并建立远程仓库,将本地的工程上传上去。然后分别配置本地和服务器中的SSH公钥,如果不配置每次都需要密码,很麻烦。如果不熟悉git操作,可参考Git的基本使用

设置流水线

gitee的流水线是 Gitee 推出的一款纯 UI 式的 CI/CD 工具,可提供持续集成、持续交付(部署)能力。其原理如图

image-20240328114242408

  1. 打开gitee仓库,选择流水线,选择新建流水线
image-20240328112406606
  1. 设置流水线名称和编号,只要唯一即可

  2. 设置触发事件,设置push触发

image-20240328112653682
  1. 设置任务编排,新增任务,并设置名称和Id
image-20240328112824655
  1. 添加任务,gitee提供了很多方式,可以直接在gitee上进行编译等步骤,但是这会耗费比较长的时间,而gitee每月只免费提供200分钟。所以我们尽量缩短任务的时间。

    image-20240328112921070
  2. 选择工具–Shell脚本执行

image-20240328113136488
  1. 添加主机,将windows服务器添加进来,目的是让该服务器执行脚本。
image-20240328113224859

根据gitee的提示进行添加即可

image-20240328113257546
  1. 编写执行命令脚本,脚本执行很简单,就是将仓库的最新文件拉取到服务器
1
2
cd /d "你的目录\hexo-blog"
git pull --force

自动部署设置完成。

使用该技术的网站案例:步步为营 (bubuweiying.site)

作者

步步为营

发布于

2024-03-28

更新于

2025-03-15

许可协议