Hugo框架中文文档 在Netlify上托管和部署Hugo站点
Contents
Netlify 提供的服务包括持续部署服务、全球CDN、超级快速DNS、原子部署、即时缓存验证、一键SSL证书、基于浏览器的界面、命令行界面以及其他很多管理hugo站点的特性服务.
前提条件
- 有GitHub, GitLab, 或者 Bitbucket 账户
- 完成了快速开始Quick Start 或者已经拥有了想要与世界分享的准备部署的Hugo站点
- 还没有netlify账号
创建Netlify账户
浏览器打开 app.netlify.com, 选择自己喜欢的注册方法。 通常这会是一个托管的GIT服务的站点账号, 当让您页可以选择使用邮件地址来注册.
下面例子使用Github, 使用其他git服务商的账号的注册过程会类似过程
选择Github会调出github的验证授权模态对话框, 选择"Authorize application."
创建可以持续部署的新站点
现在拥有了Netlify账户, 授权后应该会被导向您的netlify操作面板. 选择"New site from git."
然后Netlify会引导您完成连续部署的必须步骤. 首先,再次选择您的git服务商, 不过这次为了给您的项目存储库添加netlify的访问权限。
再一次看到Github授权模态框:
选择需要持续部署的repo资源库。如果您有好多项目,可以通过查询实时过滤他们:
资源库选择好之后, netlify将你导航到基础设置的屏幕. 此处可以选择将要发布的git分支,设置您的build command构建命令, 您的发布(部署)目录. 发布目录应该与您在site configuration站点配置中设置的目录一致,默认是public
. 后续步骤假设您在发布master
代码分支.
在netlify中设置您的Hugo版本
可以通过在netlify.toml
文件中为您的环境设置Hugo版本或者在netlify的命令行中设置HUGO_VERSION
构建环境变量
为生产环境设置:
|
|
为测试环境:
|
|
Netlify配置文件理解起来有点难,为不同环境设置正确也有点难. 可以从下面的站点netlify
文件获得一点启发和提示:
|
|
构建和部署站点
在netlify终端, 选择 “Deploy site"会马上将您带到部署的终端:
构建完成时—这仅仅需要几秒—您会在屏幕顶部看到“英雄卡片”通知您部署成功. 英雄卡片会是在大多数页面中看到的第一个元素. 卡片允许查看页面的快速摘要, 访问大多数通常的/相关的动作和信息。Netlify会自动生成URL。您可以在 “Settings.“中更新URL.
现在,每次您更新您的托管的git代码库,Netlify会重新构建并重新部署您的站点.
参考 这篇博文 获得Netlify处理Hugo版本的更详细信息.
在netlify平台上使用Hugo 主题样式
Netlify平台上Hugo不支持git clone
方法安装主题样式. 如果使用了git clone
, Netlify会要求您递归删除主题目录theme中的.git
子目录, 因此阻止了主题未来版本的兼容性.
更佳 的方法是通过git submodule来安装theme. 参考GitHub submodules文档或者Git 网站获得更多信息, 命令同git clone
类似:
|
|
建议您只使用主题的稳定版本(如果有版本号的话)并且总是查看变化日志. 可以在theme的目录内检出特定版本来来查看.
转到主题目录,列出所有版本:
|
|
检出特定版本如下:
|
|
在项目的 根 目录下执行如下命令更新主题到最新版本:
|
|
后续 Next Steps
现在您具有一个https服务、通过CDN分发、配置成持续部署的鲜活站点。现在可以看看Netlify的如下文档: