Zeit Now是一个部署云函数的平台,同时可以部署静态文件并绑定域名。得益于大量的CDN并且目前还没被一众白嫖党搞坏,目前这个平台从局域网内访问速度还是可以的。

Hugo是一个静态网站生成器。我们的目的是生成静态文件后部署到Zeit Now上。

安装及使用Hugo

Redirect -> Google

在网站项目根目录下使用hugo命令即可生成静态网站到./public文件夹。

部署到Zeit Now

Now的部署配置依赖于now.json文件,因此我们先准备好一个now.json在网站项目的根目录下。注意此时该配置文件并不在./public下,因为这个目录是每次部署重新生成的,所以我们的部署配置文件每次都需要重新放进去运行。

{
    "version": 2,
    "builds": [{
        "src": "**",
        "use": "@now/static"
    }],
    "env": {
        "TARGET": "production"
    },
    "alias": "{{your domain}}"
}

build属性指定了所有文件都通过@now/static这个builder进行处理,这个builder做的事情大概就是拷贝所有文件到线上环境。

部署配置准备好了,我们使用一个脚本来完成这样一个流程:
Hugo生成->复制部署配置文件到public下->在public下部署

hugo
cp now.json ./public/now.json
cd ./public
now --target production #只有在production模式才会使用自定义域名
rm now.json

部署完成后访问alias里面指定的域名即可访问刚生成的Blog。