github actions 简介

  • Github Actions 是GitHub的持续集成服务。持续集成由很多操作组成,比如登录远程服务器,发布内容到第三方服务等等,GitHub把这些操作称为actions。

流程

本文适用为,一个github仓库为博客源码存放地址,一个github仓库为博客发布

  • 在你的github账户里面创建 token https://github.com/settings/tokens
  • 将生成的token放在你的 https://github.com/你的博客源码仓库名/settings/secrets/actions 中设置变量名为 ACTION_ACCESS_TOKENS
  • 在你的博客源码仓库中新建 目录 .github/workflows 文件 ci.yaml
  • 推送代码,等待构建,几分钟后就可以在你的 github 仓库为博客发布中找到你的发布内容了
  • 构建过程可以在 https://github.com/你的博客源码仓库名/actions 中查看

ci.yaml 代码

name: hugo blog github pages
on:
  push:
    branches:
      - main
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
        with:
          submodules: true
          fetch-depth: 0

      - name: Setup Hugo
        uses: peaceiris/actions-hugo@v2
        with:
          hugo-version: 'latest'

      - name: Build
        run: hugo --buildDrafts
        
     - uses: finnp/create-file-action@master #如果你不需要自定义域名直接删除
        env:
          FILE_NAME: ./public/CNAME
          FILE_DATA: hwholiday.com
          
      - name: Deploy
        uses: peaceiris/actions-gh-pages@v3
        with:
          external_repository: hwholiday/hwholiday.github.io #你的博客仓库地址
          personal_token: ${{ secrets.ACTION_ACCESS_TOKENS }}
          publish_dir: ./public
          publish_branch: main