HUGO部署脚本

一条命令实现HUGO博客的自动部署

HUGO 是一个使用Markdown生成网站的开源工具,使用Go语言开发。可以快速生成CMS站点或者博客,支持比较丰富的站点模板,可以大幅降低网站或博客的维护成本,能够生成体验良好的静态站点,支持搜索功能,创作过程中支持所见即所得。我当前这个博客也是使用HUGO生成的,使用的模板是Stack

介绍了一些HUGO的优点,也提一下HUGO的短板:由于使用Markdown语法,所以非it工作者会不太适应;同时没有提供在线编辑的管理工具和后台,只是提供了命令行编译打包和本地server,所以如何编辑和发布网站内容就需要各显神通了。

大致使用流程示意图:

本文重点介绍一下,编辑完成markdown文件以后,如何一条命令发布到服务器,使用的 windows 批处理命令如下:

1
2
3
4
5
6
echo %cd%
hugo -F
del blog.zip
zip blog.zip -r public
scp blog.zip wwwuser@192.168.2.1:~/web/blog.zip
ssh wwwuser@192.168.2.1 "cd ~/web && rm -rf blog && unzip blog.zip -d blog_temp && mv ./blog_temp/public ./blog && rm -rf blog_temp && rm -f blog.zip"

zip、scp 和 ssh 不是 windows 系统自带的工具,可以通过下载 GNU移植版本 得到(zip和OpenSSL)。要使ssh可以直接远程在linux服务器上执行命令,需要在本地配置服务器所需的公钥,相关资料比较多,不赘述。

对于第一次使用HUGO的朋友,贴一张自己编辑markdown文件过程中的截图(VSCode),相信可以帮助理解HUGO的使用。

在编辑过程中可以使用HUGO自带的命令行实时在浏览器更新博客的预览过程(默认链接:http://localhost:1313/),命令如下:

1
hugo server -F
Licensed under CC BY-NC-SA 4.0
comments powered by Disqus