返回

轻松get!Github Actions自动部署Hugo到阿里OSS的技巧

前端

将 Github Actions 与 Hugo 和阿里云 OSS 相结合,轻松部署您的静态网站

创建阿里云 OSS Bucket

  • 步骤 1: 登录阿里云控制台并选择 OSS 服务。
  • 步骤 2: 点击“创建 Bucket”按钮并选择您要创建 Bucket 的地域。
  • 步骤 3: 输入 Bucket 名称,选择存储类型和访问权限。
  • 步骤 4: 点击“确定”按钮创建 Bucket。

修改 OSS Bucket 写读权限

  • 步骤 1: 在 OSS 控制台,选择您要修改权限的 Bucket。
  • 步骤 2: 点击“权限管理”选项卡。
  • 步骤 3: 在“读写权限”部分,点击“添加”按钮。
  • 步骤 4: 输入要授予权限的用户的名称或电子邮件地址。
  • 步骤 5: 选择要授予的权限。
  • 步骤 6: 点击“确定”按钮保存更改。

获取阿里云 OSS AccessKey

  • 步骤 1: 登录阿里云控制台并找到 AccessKey 管理页面。
  • 步骤 2: 点击“创建 AccessKey”按钮。
  • 步骤 3: 输入 AccessKey 的名称,选择要授予的权限。
  • 步骤 4: 点击“确定”按钮创建 AccessKey。
  • 步骤 5: 将 AccessKey ID 和 AccessKey Secret 保存到安全的地方。

在 Hugo 项目中配置阿里云 OSS

  • 步骤 1: 在 Hugo 项目中,创建一个名为“config.yaml”的文件。
  • 步骤 2: 在“config.yaml”文件中,添加以下内容:
baseURL = "https://example.com"
languageCode = "en-us"
title = "My Hugo Site"

[outputFormats]
home = "index.html"

[params]
bucketName = "example-bucket"
accessKeyID = "AKIAIOSFODNN7EXAMPLE"
accessKeySecret = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"

创建 Github Actions 工作流

  • 步骤 1: 在 Github 项目中,创建一个名为“.github/workflows/deploy.yaml”的文件。
  • 步骤 2: 在“deploy.yaml”文件中,添加以下内容:
name: Deploy Hugo to Alibaba Cloud OSS

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - run: hugo
      - name: Upload to Alibaba Cloud OSS
        uses: aliyun/oss-hugo-deploy@v1.2
        with:
          access_key_id: ${{ secrets.OSS_ACCESS_KEY_ID }}
          access_key_secret: ${{ secrets.OSS_ACCESS_KEY_SECRET }}
          bucket_name: ${{ secrets.OSS_BUCKET_NAME }}
          endpoint: ${{ secrets.OSS_ENDPOINT }}
          domain: ${{ secrets.OSS_DOMAIN }}

运行 Github Actions 工作流

  • 步骤 1: 将您的 Hugo 项目推送到 Github 仓库。
  • 步骤 2: Github Actions 工作流将自动运行。
  • 步骤 3: 工作流完成后,您的 Hugo 网站将被部署到阿里云 OSS。

结论

通过将 Github Actions 与 Hugo 和阿里云 OSS 结合起来,您可以高效且安全地构建和托管您的静态网站。这种方法不仅可以节省您的时间和精力,还可以确保您的网站的可靠性。

常见问题解答

  • 我如何查看我的网站?

您可以在部署后使用您的域名访问您的网站。

  • 我可以使用自定义域名吗?

是的,您可以使用自定义域名。在 Hugo 项目的“config.yaml”文件中更新“baseURL”值,并确保您的 DNS 设置正确。

  • 如何更新我的网站?

只需在本地更新您的 Hugo 项目并将其推送到 Github。Github Actions 将自动触发部署。

  • 我如何配置我的 OSS 权限?

请遵循本文中的步骤修改您的 OSS Bucket 权限。

  • 我可以部署到其他云提供商吗?

是的,Github Actions 支持多种云提供商,包括亚马逊云科技和微软 Azure。