Github如何一键部署

由于最近一直更新博客(小骄傲),但是发现每次部署,都要博客仓库打包后,手动复制到网页仓库发布,很麻烦,所以研究一下有没有什么自动化部署的工具

需要在源码仓库根目录创建.github/workflows/deploy.yml文件,然后配置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
name: Deploy Hugo
on:
  push:
    branches: [main]  # 触发分支(源码分支)
jobs:
  build-deploy:
    runs-on: ubuntu-latest
    steps:
      - name: 拉取代码
        uses: actions/checkout@v4
        with:
          submodules: true  # 如果用了主题子模块必加

      - name: 安装 Hugo
        run: sudo snap install hugo

      - name: 生成静态文件
        run: hugo --minify

      - name: 部署到 GitHub Pages
        uses: peaceiris/actions-gh-pages@v3
        with:
          # 从默认的 GITHUB_TOKEN 改为自己的 Personal Token
          personal_token: ${{ secrets.PERSONAL_TOKEN }}  
          # 指定目标仓库(格式:用户名/仓库名)
          external_repository: CrownJoker07/CrownJoker07.github.io
          publish_dir: ./public
          # 强制目标分支为 main
          publish_branch: main
          # 添加以下参数解决历史提交冲突
          force_orphan: true构建目录

secrets.PERSONAL_TOKEN需要在源码仓库的Settings/Secrets and Variables/Actions创建Secrets,名字叫PERSONAL_TOKEN,内容是 GitHub账号**Settings/Developer Settings/Personal access tokens (classic)**的具有工作流权限的密令

配置好后,试试推送,就会发现已经触发Github Action.

Licensed under CC BY-NC-SA 4.0