在 Netlify 上托管
Netlify 提供持续部署服务、全球 CDN、超快速 DNS、原子部署、即时缓存刷新、一键 SSL、基于浏览器的界面、CLI 和其他许多功能,用于管理您的 Hugo 网站。
假设条件
- 您有 GitHub、GitLab 或 Bitbucket 帐户。
- 您已完成[快速入门教程],或者已经准备好部署和分享您的 Hugo 网站。
- 您尚未拥有 Netlify 帐户。
创建一个 Netlify 帐户
访问 app.netlify.com,并选择您首选的注册方法。这通常是托管的 Git 提供商,但您也可以选择使用电子邮件注册。
以下示例使用 GitHub,但其他 Git 提供商将遵循类似的流程。
选择 GitHub 将弹出一个授权模态对话框进行身份验证。选择"Authorize application"。
使用持续部署创建一个新站点
您现在已经成为 Netlify 的会员,并且将会跳转到您的新仪表板页面。选择 “New site from git”。
然后,Netlify 将开始引导您完成持续部署所需的步骤。首先,您需要再次选择您的 Git 提供商,但这次您需要授予 Netlify 对您的存储库的额外权限。
然后再次授权 GitHub:
选择要用于持续部署的存储库。如果您有大量的存储库,您可以通过实时搜索来过滤它们:
选择完毕后,您将进入到基本设置的界面。在此界面上,您可以选择要发布的分支、您的[构建命令]和您的发布(即部署)目录。发布目录应与您在[站点配置]中设置的目录相对应,其中的默认目录是 public
。以下步骤假设您从 master
分支发布。
在 Netlify 中配置 Hugo 版本
您可以通过将 HUGO_VERSION
设置为 Netlify 控制台的构建环境变量,或在 netlify.toml
文件中为您的环境设置 Hugo 版本。
对于生产环境:
[context.production.environment]
HUGO_VERSION = "0.115.4"
对于测试环境:
[context.deploy-preview.environment]
HUGO_VERSION = "0.115.4"
Netlify 的配置文件可能有些难以理解和配置,在不同的环境中也会存在差异。您可以从本站点的 netlify.toml
文件中获得一些灵感和提示:
[build]
publish = "public"
command = "hugo --gc --minify"
[build.environment]
HUGO_VERSION = "0.120.3"
[context.production.environment]
HUGO_ENV = "production"
HUGO_ENABLEGITINFO = "true"
[context.split1]
command = "hugo --gc --minify --enableGitInfo"
[context.split1.environment]
HUGO_ENV = "production"
[context.deploy-preview]
command = "hugo --gc --minify --buildFuture -b $DEPLOY_PRIME_URL"
[context.branch-deploy]
command = "hugo --gc --minify -b $DEPLOY_PRIME_URL"
[context.next.environment]
HUGO_ENABLEGITINFO = "true"
[[redirects]]
from = "/npmjs/*"
to = "/npmjs/"
status = 200
构建和部署站点
在 Netlify 控制台中,选择 “Deploy site” 将立即进入您的构建终端界面。
构建完成后(只需几秒钟),您应该在屏幕顶部看到一个 “Hero Card”,用于通知您部署成功。Hero Card 是大多数页面中首次出现的元素,它允许您快速查看页面的概要并提供对最常用/相关操作和信息的访问。您将看到 URL 已经由 Netlify 自动生成。您可以在 “Settings” 中更新 URL。
现在,每次您推送更改到您的托管 Git 存储库时,Netlify 将重新构建和部署您的网站。
有关 Netlify 如何处理 Hugo 版本的更多详细信息,请参阅此博文。
在 Netlify 中使用 Hugo 主题
Netlify 不支持使用 git clone
方法安装主题。如果您使用 git clone
,则需要递归删除主题文件夹中的 .git
子目录,这将导致主题与未来版本不兼容。
更好的方法是将主题安装为合适的 Git 子模块。您可以阅读 GitHub 或 Git 网站上的子模块文档了解更多信息,但命令与 git clone
类似:
cd themes
git submodule add https://github.com/<THEMECREATOR>/<THEMENAME>
建议仅使用主题的稳定版本(如果有版本号),并始终检查更改日志。您可以在主题目录中通过检出特定版本来进行查询:
cd themes/<theme>
git tag
# 输入 q 退出
您可以按以下方式检出特定版本:
git checkout tags/<version-name>
可以在项目的根目录中执行以下命令将主题更新为最新版本:
git submodule update --rebase --remote
下一步
您现在拥有一个通过 HTTPS 服务的现网站点,通过 CDN 进行分发,并配置了持续部署。深入了解 Netlify 的文档:
- [使用自定义域名]
- 在自定义域名上设置 HTTPS
- [重定向和重写规则]