GithubAction
Github Token 生成 & 设置
- github -> Settings -> Developer Settings -> Personal access tokens 新增 Tokens(classic)
- 点击Generate new token
- 点击你想使用Action的github仓库 Settings -> Secrets and variables -> Actions -> New respository secret.
- 填上名字
ACTION_ACCESS_TOKEN
和第一步生成的 token,保存
在项目根目录增加文件
.github/workflows/hugo.yml
name: HugoAutoDeploy # 名字自取
on:
push:
branches:
- main # 这里的意思是当 main分支发生push的时候,运行下面的jobs,这里先改为github-actions
jobs:
deploy: # 任务名自取
runs-on: ubuntu-latest # 在什么环境运行任务
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.ACTION_ACCESS_TOKEN }}
submodules: true # Fetch Hugo themes (true OR recursive) 获取submodule主题
- name: Setup Hugo # 步骤名自取
uses: peaceiris/actions-hugo@v2 # hugo官方提供的action,用于在任务环境中获取hugo
with:
hugo-version: 'latest' # 获取最新版本的hugo
# extended: true
- name: Build
run: hugo --minify # 使用hugo构建静态网页
- name: Deploy
uses: peaceiris/actions-gh-pages@v3 # 一个自动发布github pages的action
with:
# github_token: ${{ secrets.GITHUB_TOKEN }} 该项适用于发布到源码相同repo的情况,不能用于发布到其他repo
external_repository: zfunnily/zfunnily.github.io # 发布到哪个repo
personal_token: ${{ secrets.ACTION_ACCESS_TOKEN }} # 发布到其他repo需要提供上面生成的personal access token
publish_dir: ./public # 注意这里指的是要发布哪个文件夹的内容,而不是指发布到目的仓库的什么位置,因为hugo默认生成静态网页到public文件夹,所以这里发布public文件夹里的内容
publish_branch: main # 发布到哪个branch
token 和 personal_token 使用的是变量,这个遍历会读取你在github的action上配置的
ACTION_ACCESS_TOKEN
的值。
参考
https://lucumt.info/post/hugo/using-github-action-to-auto-build-deploy/
--完--
- 原文作者: 留白
- 原文链接: https://zfunnily.github.io/2023/11/gitaction/
- 更新时间:2024-04-16 01:01:05
- 本文声明:转载请标记原文作者及链接