GitHub Actions是GitHub仓库的内置自动化平台。它允许你在特定事件发生时自动运行代码——推送代码、提交PR、定时cron任务——无需搭建单独的CI/CD基础设施。以下是足够入门的内容。
什么是工作流(Workflow)?
工作流是仓库.github/workflows/目录中的YAML文件。它定义触发条件(何时运行)、任务(步骤组)和步骤(单个命令)。GitHub提供免费的Linux、Windows和macOS虚拟机来运行它们。私有仓库每月有2,000分钟免费额度;公开仓库完全免费。
你的第一个工作流
创建.github/workflows/test.yml。一个最简Python测试工作流如下:
name: Run Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: pip install -r requirements.txt
- run: pytest
现在每次推送和PR都会自动运行测试,并在GitHub界面上显示通过/失败状态。
常用触发条件
除了push和pull_request,还可以触发:schedule(cron语法定时)、workflow_dispatch(GitHub界面手动按钮)、发布release、Issue评论等。定时工作流适合夜间构建、数据抓取任务或自动报告。
密钥和环境变量
在仓库设置→Secrets and variables→Actions中存储API密钥和密码。在工作流中通过${{ secrets.MY_SECRET }}访问。切勿将凭证硬编码在工作流文件中——它们会进入git历史记录。
查找现有Actions
GitHub Marketplace有数千个预构建Action。常用的:actions/cache(通过缓存依赖项加速构建)、docker/build-push-action(构建和推送Docker镜像)、peaceiris/actions-gh-pages(将静态网站部署到GitHub Pages)。




