GitHub Actions入门:30分钟自动化你的工作流

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)。

上一篇 GitHub Actions for Beginners: Automate Your Workflow in 30 Minutes
下一篇 Top Open Source Apps You Can Self-Host with Docker