← 中文资源

简体中文版本

用 GitHub Actions 搭建 CI/CD

配置 GitHub Actions 持续集成流水线,在每个拉取请求上运行 lint、测试和构建,阻止坏代码合入 main。

阅读英文原文

为什么用 GitHub Actions 做 CI

CI 确保每个代码变更在合并前通过质量检查。GitHub Actions 直接在仓库中运行工作流,公共仓库免费,私有仓库也有充足额度。

工作流文件

创建 .github/workflows/ci.yml:

name: CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: pnpm/action-setup@v4
      - run: pnpm install --frozen-lockfile
      - run: pnpm lint

分支保护

把 lint、测试和构建设为必需检查,要求拉取请求在最新 main 上通过。缓存依赖以缩短运行时间,并固定 Action 版本或 digest 以保证可复现性。

验证流水线

预期结果:故意引入 lint 错误的拉取请求被阻止合并,修复后通过;main 分支构建成功。检查必需检查状态和日志,确认使用了冻结锁文件安装。