跳转至

自动部署触发设置

方案一(最简单推荐):commit message 触发部署

只在 commit 信息包含某个关键字时才部署

例如:

deploy

或者

[deploy]

修改 workflow

jobs 上增加条件:

jobs:
  build-and-deploy:
    if: contains(github.event.head_commit.message, 'deploy')

完整示例:

name: Build and Deploy

on:
  push:
    branches:
      - main

jobs:
  build-and-deploy:
    if: contains(github.event.head_commit.message, 'deploy')
    runs-on: ubuntu-latest

    steps:
      - name: Checkout Repository
        uses: actions/checkout@v2

      - name: Setup Python
        uses: actions/setup-python@v2
        with:
          python-version: 3.x

      - name: Install Dependencies
        run: pip install mkdocs-material

      - name: Build
        run: mkdocs build

使用方式

普通提交(不会部署)

git commit -m "更新文章"

不会触发部署。


需要部署时:

git commit -m "更新文章 deploy"

或者

git commit -m "[deploy] 发布博客"

就会执行 workflow。


方案二:使用 commit tag(更规范)

例如使用:

#deploy

workflow:

if: contains(github.event.head_commit.message, '#deploy')

commit:

git commit -m "新增AI文章 #deploy"

方案三(专业团队用):手动触发

GitHub Actions 支持 手动运行

workflow:

on:
  push:
    branches:
      - main
  workflow_dispatch:

这样:

  • push 不会部署
  • 在 GitHub 点击按钮部署

入口:

GitHub
→ Actions
→ Build and Deploy
→ Run workflow

方案四(博客常用):tag 才部署 ⭐

很多博客是 打 tag 才部署

workflow:

on:
  push:
    tags:
      - v*

例如:

git tag v1.0
git push origin v1.0

才会部署。


我最推荐你的方案

对于 个人博客,最舒服的是:

commit keyword 触发

deploy

理由:

  • 简单
  • 不用去 GitHub 手动点
  • push 就能控制

例如:

git commit -m "新增 AI Agent 文章"

不会部署。

需要发布:

git commit -m "AI Agent 文章发布 deploy"

自动部署。


再给你一个隐藏技巧(很多人不知道)

你也可以 阻止 CI 运行

git commit -m "更新文章 [skip ci]"

GitHub Actions 完全不会运行


推荐你的最终策略

我建议你这样:

普通提交
git commit -m "更新AI文章"

发布文章
git commit -m "发布AI文章 deploy"

跳过CI
git commit -m "草稿 [skip ci]"

非常舒服。


评论