GitHub Actions (GitWork) 自动化工作流指南
GitHub Actions 是 GitHub 提供的持续集成/持续部署 (CI/CD) 服务。通过编写简单的 YAML 脚本,你可以实现代码提交即自动测试、打包、部署的全自动化流程。
GitHub CI/CD什么是 Workflows (工作流)?
Workflows 是你在仓库中定义的可配置的自动化过程。
- 配置文件位置: 必须存放于
.github/workflows/目录下。 - 格式:
.yml或.yaml。
核心概念
- Workflow (工作流): 整个自动化过程,由一个或多个 Job 组成。
- Event (触发事件): 触发 Workflow 运行的行为(如
push,pull_request)。 - Job (作业): 运行在同一个运行器 (Runner) 上的一组步骤。默认并行运行。
- Step (步骤): 具体的执行指令,可以运行 Shell 命令或使用现成的 Action。
- Action (动作): 封装好的可重用代码块(如
actions/checkout用于拉取代码)。
基础语法示例
创建一个 .github/workflows/main.yml 文件:
yaml
name: CI 自动化构建 # Workflow 名称
# 触发条件:当 main 分支有 push 行为时触发
on:
push:
branches: [ "main" ]
jobs:
build-and-test: # Job ID
runs-on: ubuntu-latest # 运行环境
steps:
# 1. 拉取代码
- name: Checkout code
uses: actions/checkout@v4
# 2. 设置 Node.js 环境
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
# 3. 安装依赖
- name: Install Dependencies
run: npm install
# 4. 运行测试/构建
- name: Build
run: npm run build常用的 GitHub Actions
在 GitHub Marketplace 可以找到成千上万个现成的 Action。
actions/checkout: 拉取仓库代码。actions/setup-node: 安装 Node.js。cloudflare/wrangler-action: 部署 Cloudflare Workers。peaceiris/actions-gh-pages: 部署静态网页到 GitHub Pages。
环境变量与 Secrets
不要在代码中硬编码密码!使用 GitHub Secrets 来存储敏感信息。
- 设置 Secret: 进入仓库
Settings->Secrets and variables->Actions->New repository secret。 - 在 YAML 中使用:
${{ secrets.MY_API_KEY }}。
yaml
- name: Deploy to Cloudflare
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}配合 Cloudflare 或 Vercel 使用
GitWork (GitHub Actions) 能够从代码仓库这端主动触发部署:
- Cloudflare Workers: 通常需要配置 Action 主动推送代码。
- Vercel / Cloudflare Pages: 这两者通常提供集成 (Integration) 模式,即你在 Vercel/Cloudflare 仪表盘绑定 GitHub 账号后,它们会自动监听 GitHub 的 Push 事件并拉取构建,不需要你手动编写
.yml文件(除非你有极其复杂的定制需求)。
更多详细的集成教程,请参考本站的 Cloudflare 和 Vercel 章节。
