Featured image of post Stack主题 + GitHub Action

Stack主题 + GitHub Action

使用GitHub Actions自动缓存resource

二话不说直接上成绩

no cachecachedgap
使用时间20 s13 s7 s
网页导出时间11983 ms978 ms11005 ms

添加 Deploy keys

如果在同一个仓库下可以跳过

  1. 创建 ssh key
# 直接运行就行
ssh-keygen -t rsa -b 4096 -C "$(git config user.email)" -f gh-pages -N ""
  1. 访问仓库设定
  • 公开仓库:在 Deploy keys 添加刚刚创建的公钥并且允许写入 (gh-pages.pub)
  • 私人仓库:在 Secrets 添加刚刚船舰的私钥,并且取名为 ACTIONS_DEPLOY_KEY (gh-pages)

添加 workflows

添加到你的源仓库 .github/workflows/deploy.yml

name: GitHub Page

on:
    push:
        branches:
            - master # master 更新触发

jobs:
    deploy:
        runs-on: ubuntu-18.04
        steps:
            - uses: actions/checkout@v2
              with:
                  submodules: true # clone submodules
                  fetch-depth: 0 # 克隆所有历史信息

            - name: Setup Hugo
              uses: peaceiris/actions-hugo@v2
              with:
                  hugo-version: "0.87.0" # Hugo 版本
                  extended: true # hugo插件版 Stack主题 必须启用

            - name: Cache resources # 缓存 resource 文件加快生成速度
              uses: actions/cache@v2
              with:
                  path: resources
                  # 检查照片文件变化
                  key: ${{ runner.os }}-hugocache-${{ hashFiles('content/**/*') }}
                  restore-keys: ${{ runner.os }}-hugocache-

            - name: Build # 生成网页 删除无用 resource 文件 削减空行
              run: hugo --minify --gc

            - name: Deploy # 部署到 GitHub Page
              uses: peaceiris/actions-gh-pages@v3
              with:
                  # 如果在同一个仓库下使用请使用 github_token 并注释 deploy_key
                  # github_token: ${{ secrets.GITHUB_TOKEN }}
                  deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}

                  # 如果在同一个仓库请注释
                  external_repository: # 你的 GitHub page 仓库 example/example.github.io

                  publish_dir: ./public
                  user_name: "github-actions[bot]"
                  user_email: "github-actions[bot]@users.noreply.github.com"
                  full_commit_message: Deploy from ${{ github.repository }}@${{ github.sha }} 🚀
Licensed under CC BY-NC-SA 4.0
最后更新于 2021 年 11 月 22 日 23:17 +0900