HUGO
Menu
GitHub 87548 stars Mastodon

在 Cloudflare 上托管

在 Cloudflare 上托管您的网站。

使用这些说明从 GitHub 仓库启用持续部署。如果您使用 GitLab 进行版本控制,适用相同的一般步骤。

前提条件

请在继续之前完成以下任务:

  1. 创建 Cloudflare 账户
  2. 登录 您的 Cloudflare 账户
  3. 创建 GitHub 账户
  4. 登录 您的 GitHub 账户
  5. 创建 项目的 GitHub 仓库
  6. 创建 项目的本地 Git 仓库,并带有指向 GitHub 仓库的 远程 引用
  7. 在本地 Git 仓库中创建 Hugo 网站,并使用 hugo server 命令测试

步骤

步骤 1
在项目根目录创建 wrangler.toml 文件。
wrangler.toml
name = "hosting-cloudflare-worker"
compatibility_date = "2025-07-31"

[build]
command = "chmod a+x build.sh && ./build.sh"

[assets]
directory = "./public"
not_found_handling = "404-page"
步骤 2
在项目根目录创建 build.sh 文件。
build.sh
#!/usr/bin/env bash

#------------------------------------------------------------------------------
# @file
# 构建托管在 Cloudflare Worker 上的 Hugo 网站。
#
# Cloudflare Worker 会自动安装 Node.js 依赖。
#------------------------------------------------------------------------------

main() {

  DART_SASS_VERSION=1.97.3
  GO_VERSION=1.25.6
  HUGO_VERSION=0.155.3
  NODE_VERSION=24.13.0

  export TZ=Europe/Oslo

  # 安装 Dart Sass
  echo "Installing Dart Sass ${DART_SASS_VERSION}..."
  curl -sLJO "https://github.com/sass/dart-sass/releases/download/${DART_SASS_VERSION}/dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz"
  tar -C "${HOME}/.local" -xf "dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz"
  rm "dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz"
  export PATH="${HOME}/.local/dart-sass:${PATH}"

  # 安装 Go
  echo "Installing Go ${GO_VERSION}..."
  curl -sLJO "https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz"
  tar -C "${HOME}/.local" -xf "go${GO_VERSION}.linux-amd64.tar.gz"
  rm "go${GO_VERSION}.linux-amd64.tar.gz"
  export PATH="${HOME}/.local/go/bin:${PATH}"

  # 安装 Hugo
  echo "Installing Hugo ${HUGO_VERSION}..."
  curl -sLJO "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz"
  mkdir "${HOME}/.local/hugo"
  tar -C "${HOME}/.local/hugo" -xf "hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz"
  rm "hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz"
  export PATH="${HOME}/.local/hugo:${PATH}"

  # 安装 Node.js
  echo "Installing Node.js ${NODE_VERSION}..."
  curl -sLJO "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.xz"
  tar -C "${HOME}/.local" -xf "node-v${NODE_VERSION}-linux-x64.tar.xz"
  rm "node-v${NODE_VERSION}-linux-x64.tar.xz"
  export PATH="${HOME}/.local/node-v${NODE_VERSION}-linux-x64/bin:${PATH}"

  # 验证安装
  echo "Verifying installations..."
  echo Dart Sass: "$(sass --version)"
  echo Go: "$(go version)"
  echo Hugo: "$(hugo version)"
  echo Node.js: "$(node --version)"

  # 配置 Git
  echo "Configuring Git..."
  git config core.quotepath false
  if [ "$(git rev-parse --is-shallow-repository)" = "true" ]; then
    git fetch --unshallow
  fi

  # 构建网站
  echo "Building the site..."
  hugo --gc --minify

}

set -euo pipefail
main "$@"
步骤 3
将更改提交到本地 Git 仓库并推送到 GitHub 仓库。
步骤 4
在 Cloudflare 仪表板 的右上角,按 Add 按钮并从下拉菜单中选择"Workers"。 屏幕截图
步骤 5
在"Workers"选项卡,按"Import a repository"项右侧的 Get started 按钮。 屏幕截图
步骤 6
连接到 GitHub。 屏幕截图
步骤 7
选择您要安装 Cloudflare Workers and Pages 应用程序的 GitHub 账户。 屏幕截图
步骤 8
授权 Cloudflare Workers and Pages 应用程序访问所有仓库或仅选择仓库,然后按 Install & Authorize 按钮。 屏幕截图

您的浏览器将被重定向到 Cloudflare 仪表板。

步骤 9
在"Workers"选项卡,按"Import a repository"项右侧的 Get started 按钮。 屏幕截图
步骤 10
选择要导入的仓库。 屏幕截图
步骤 11
在"Set up your application"页面,提供项目名称,保留构建命令为空,然后按 Create and deploy 按钮。 屏幕截图
步骤 12
等待网站构建和部署完成,然后访问您的网站。 屏幕截图

将来,每当您从本地 Git 仓库推送更改时,Cloudflare 将重新构建和部署您的网站。


Last updated: January 1, 0001
Improve this page