在 Cloudflare 上托管
在 Cloudflare 上托管您的网站。
使用这些说明从 GitHub 仓库启用持续部署。如果您使用 GitLab 进行版本控制,适用相同的一般步骤。
前提条件
请在继续之前完成以下任务:
- 创建 Cloudflare 账户
- 登录 您的 Cloudflare 账户
- 创建 GitHub 账户
- 登录 您的 GitHub 账户
- 创建 项目的 GitHub 仓库
- 创建 项目的本地 Git 仓库,并带有指向 GitHub 仓库的 远程 引用
- 在本地 Git 仓库中创建 Hugo 网站,并使用
hugo server命令测试
步骤
- 步骤 1
- 在项目根目录创建
wrangler.toml文件。wrangler.tomlname = "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 将重新构建和部署您的网站。