hexo+windows服务器IIS+gitee实现自动部署
使用该技术的网站案例:步步为营 (bubuweiying.site)
使用Hexo
安装
在windows上安装及其简单,安装两个软件就可以,傻瓜式的下一步即可
安装完上面两个软件之后,使用命令安装Hexo框架npm install -g hexo-cli
到此,hexo的准备工作完成
建站
- 初始化网站
1 | $ hexo init <文件夹> |
- 设置网站配置信息
初始化后,目录下会有个_config.yml
文件,该文件可以直接对网站进行配置,具体参数请见配置 | Hexo
- 写作
配置完成后,使用命令 hexo new <title>
创建一个markdown文档进行写作,文档存储在source/_posts目录下。
- 预览及生成
写作完成后,使用hexo server
进行本地预览,访问网址默认是http://localhost:4000/
预览没有问题后,可以直接使用hexo generate
进行网站生成,并用来发布。
关于其他的配置及hexo的命令可以查看官方文档文档 | Hexo。
主题
hexo默认的样式还是有些单调,不过网上提供了很多免费的主题,可以直接安装使用,主题仓库主题 | Hexo,里面有大量的主题,选择一个你喜欢的即可。

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

至此,网站制作完成
Windows服务器部署
很多人会把制作好的网站托管到Github上,但是托管到上面的网站是不被搜索引擎收录的。作为一个纯静态的博客网站,不想用Linux的各种命令,直接使用Windows的IIS进行部署。
IIS进行hexo的部署简直简单至极,上一步执行hexo generate
后,会生成一个public
目录,其实里面就是hexo自动为我们生成的静态网页,但是仅仅把public部署到服务器中是没有样式的,所以一定要把包含public目录的整个工程目录全部部署到windows服务器,并指定物理路径到public
目录,然后设置网站的访问权限,就大功告成。

自动部署
假如我每次在本地新增或修改博客后,执行hexo generate
,再把生成的文件拷贝到服务器中,那就太麻烦了,自动部署就是本地更新网站后,服务器会自动更新
。
网上很多教程是使用github的git hook来实现,但是国内访问github有时候很慢,甚至打不开。所以我们使用国内版的github—Gitee,该平台会给个人5G的免费容量(完全够用了,你要写多少博客才能有5G呀~~),重要的是,gitee仓库具有流水线的功能,可简化自动部署流程。
建立远程仓库
免费注册Gitee账号,并建立远程仓库,将本地的工程上传上去。然后分别配置本地和服务器中的SSH公钥,如果不配置每次都需要密码,很麻烦。如果不熟悉git操作,可参考Git的基本使用 。
设置流水线
gitee的流水线是 Gitee 推出的一款纯 UI 式的 CI/CD 工具,可提供持续集成、持续交付(部署)能力。其原理如图
- 打开gitee仓库,选择流水线,选择新建流水线

设置流水线名称和编号,只要唯一即可
设置触发事件,设置push触发

- 设置任务编排,新增任务,并设置名称和Id

添加任务,gitee提供了很多方式,可以直接在gitee上进行编译等步骤,但是这会耗费比较长的时间,而gitee每月只免费提供200分钟。所以我们尽量缩短任务的时间。
选择工具–Shell脚本执行

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

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

- 编写执行命令脚本,脚本执行很简单,就是将仓库的最新文件拉取到服务器
1 | cd /d "你的目录\hexo-blog" |
自动部署设置完成。
使用该技术的网站案例:步步为营 (bubuweiying.site)
hexo+windows服务器IIS+gitee实现自动部署