在 KeyCDN 上托管
KeyCDN 提供多种功能,可帮助在全球范围内加速和保护您的 Hugo 网站,包括 Brotli 压缩、Let’s Encrypt 支持、Origin Shield 等。
假设
- 您已配置了一个 Hugo 页面
- 您拥有一个 GitLab 帐户
- 您拥有一个 KeyCDN 帐户
创建 KeyCDN 拉取区域
第一步是登录您的 KeyCDN 帐户并创建一个新区域。将其命名为您喜欢的任何名称,然后选择拉取区域选项。至于源 URL,您的网站将在GitLab Pages上运行,URL 为https://youruser.gitlab.io/reponame/
。将其用作源 URL。
虽然源位置尚不存在,但您需要在将上传到 GitLab 项目的.gitlab-ci.yml
文件中使用新的区域 URL 地址(或区域别名)。
确保您在下面的示例中使用您的区域 URL 或区域别名作为BASEURL
变量。这将是用户可见的网站地址。
配置您的 .gitlab-ci.yml 文件
您的.gitlab-ci.yml
文件应类似于以下示例。请务必修改特定于您的设置的任何变量。
image: alpine:latest
variables:
BASEURL: "https://cipull-7bb7.kxcdn.com/"
HUGO_VERSION: "0.26"
HUGO_CHECKSUM: "67e4ba5ec2a02c8164b6846e30a17cc765b0165a5b183d5e480149baf54e1a50"
KEYCDN_ZONE_ID: "75544"
before_script:
- apk update
- apk add curl
pages:
stage: deploy
script:
- apk add git
- git submodule update --init
- curl -sSL https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_${HUGO_VERSION}_Linux-64bit.tar.gz -o /tmp/hugo.tar.gz
- echo "${HUGO_CHECKSUM} /tmp/hugo.tar.gz" | sha256sum -c
- tar xf /tmp/hugo.tar.gz hugo -C /tmp/ && cp /tmp/hugo /usr/bin
- hugo --baseURL ${BASEURL}
- curl "https://api.keycdn.com/zones/purge/${KEYCDN_ZONE_ID}.json" -u "${KEYCDN_API_KEY}:"
artifacts:
paths:
- public
only:
- master
使用此集成方法,您必须将区域 ID 和您的KeyCDN API密钥指定为秘密变量。为此,请导航到 GitLab 中左上角的菜单栏并选择项目。然后,选择您的项目并点击“设置”页面。最后,从子菜单中选择“管道”,然后向下滚动到“秘密变量”部分。
区域 ID 的秘密变量应类似于
而 API 密钥的秘密变量将类似于
区域 ID 和 API 密钥用于清除您的区域 - 这不是严格必需的,否则 CDN 可能会在相当长的一段时间内提供您资产的旧版本。
将您的更改推送到 GitLab
现在是时候将新创建的存储库推送到 GitLab 了
git remote add origin [email protected]:youruser/ci-example.git
git push -u origin master
您可以在 GitLab 项目的“管道”下查看进度和 CI 作业输出。
在验证您的 CI 作业运行没有问题后,首先检查您的 GitLab 页面是否显示在https://youruser.gitlab.io/reponame/
下(它可能看起来已损坏,具体取决于您的浏览器设置,因为所有链接都指向您的 KeyCDN 区域 - 不要担心)然后通过转到您定义的任何区域别名/区域 URL。
要了解有关使用 KeyCDN 的 Hugo 托管选项的更多信息,请查看完整的使用 KeyCDN 集成的 Hugo 托管指南。