自动部署触发设置
方案一(最简单推荐):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]"
非常舒服。