HUGO
Menu
GitHub 87548 stars Mastodon

在 AWS Amplify 上托管

在 AWS Amplify 上托管您的网站。

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

前提条件

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

  1. 创建 AWS 账户
  2. 登录 您的 AWS 账户
  3. 创建 GitHub 账户
  4. 登录 您的 GitHub 账户
  5. 创建 项目的 GitHub 仓库
  6. 创建 项目的本地 Git 仓库,并带有指向 GitHub 仓库的 远程 引用
  7. 在本地 Git 仓库中创建 Hugo 网站,并使用 hugo server 命令测试
  8. 将更改提交到本地 Git 仓库并推送到 GitHub 仓库。

步骤

此步骤将从 GitHub 仓库启用持续部署。如果您使用 GitLab 或 Bitbucket,步骤基本相同。

步骤 1
在项目根目录创建名为 amplify.yml 的文件。
touch amplify.yml
步骤 2
将下面的 YAML 复制并粘贴到您创建的文件中。根据需要更改应用程序版本和时区。
amplify.yml
version: 1
env:
  variables:
    # 应用程序版本
    DART_SASS_VERSION: 1.97.3
    GO_VERSION: 1.25.6
    HUGO_VERSION: 0.155.3
    # 时区
    TZ: Europe/Oslo
    # 缓存
    HUGO_CACHEDIR: ${PWD}/.hugo
    NPM_CONFIG_CACHE: ${PWD}/.npm
frontend:
  phases:
    preBuild:
      commands:
        # 为用户特定的可执行文件创建目录
        - echo "Creating directory for user-specific executable files..."
        - mkdir -p "${HOME}/.local"

        # 安装 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}"

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

        # 安装 Node.js 依赖
        - echo "Installing Node.js dependencies..."
        - "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci --prefer-offline || true"

        # 配置 Git
        - echo "Configuring Git..."
        - git config core.quotepath false
    build:
      commands:
        - echo "Building site..."
        - hugo --gc --minify
  artifacts:
    baseDirectory: public
    files:
      - '**/*'
  cache:
    paths:
      - ${HUGO_CACHEDIR}/**/*
      - ${NPM_CONFIG_CACHE}/**/*
步骤 3
提交并将更改推送到您的 GitHub 仓库。
git add -A
git commit -m "Create amplify.yml"
git push
步骤 4
登录您的 AWS 账户,导航到 [Amplify 控制台],然后按 Deploy an app 按钮。
步骤 5
选择源代码提供商,然后按 Next 按钮。 屏幕截图
步骤 6
授权 AWS Amplify 访问您的 GitHub 账户。 屏幕截图
步骤 7
选择您的个人账户或相关组织。 屏幕截图
步骤 8
授权访问一个或多个仓库。 屏幕截图
步骤 9
选择仓库和分支,然后按 Next 按钮。 屏幕截图
步骤 10
在"App settings"页面,滚动到底部然后按 Next 按钮。Amplify 读取您在步骤 1-3 中创建的 amplify.yml 文件,而不是使用此页面上的值。
步骤 11
在"Review"页面,滚动到底部然后按 Save and deploy 按钮。
步骤 12
当您的网站部署完成后,按 Visit deployed URL 按钮查看已发布的网站。 屏幕截图

Last updated: January 1, 0001
Improve this page