起因
本站是在 Netlify 平台上自动用 Hugo 静态构建的,Hugo 目前还不支持通过配置文件指定用户时区,并且不会构建当前服务器时区时间之后的文章。
方法
Netlify 支持给构建环境传入环境变量,但官方文档中未指出时区相关环境变量。
我写了几行脚本扔进 Netlify 的构建配置文件 probe 了一下,得到了如下结果
6:29:12 PM: Exec lsb_release -a
6:29:13 PM: No LSB modules are available.
6:29:13 PM: Distributor ID: Ubuntu
6:29:13 PM: Description: Ubuntu 16.04.6 LTS
6:29:13 PM: Release: 16.04
6:29:13 PM: Codename: xenial
6:29:13 PM: Exec uname -a
6:29:13 PM: Linux build-5e5648652cdc6c000778f877 4.14.65+ #1 SMP Thu Oct 25 10:42:50 PDT 2018 x86_64 x86_64 x86_64 GNU/Linux
6:29:13 PM: Exec cat /proc/1/cmdline
6:29:13 PM: /usr/local/bin/buildbotUUID
推断构建环境是 Docker Ubuntu 16.04.6 LTS
尝试修改 Linux 常用的 TZ
环境变量,在 netlify.toml
加入
[build.environment]
TZ = "Asia/Shanghai"
从构建结果上看成功修改了时区。