用 GitHub Actions 搭建轻量 CI/CD 流水线

·CyreneStar
目录

核心概念

  • Workflow:一个自动化流程,定义在 .github/workflows/*.yml
  • Job:一组串行步骤,可并行多个 Job。
  • Step:具体命令或 Action。
  • Runner:执行环境(GitHub 托管的 ubuntu/macos 或自托管)。

一个 Node 项目的最小流水线

name: CI

on:
  push:
    branches: [main]
  pull_request:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - run: npm ci
      - run: npm run lint
      - run: npm test
      - run: npm run build

用缓存加速依赖安装

      - uses: actions/setup-node@v4
        with:
          node-version: 22
          cache: npm          # 自动缓存 ~/.npm

对 pnpm / yarn 同样支持 cache: pnpm

用 Secrets 管理凭据

仓库 Settings → Secrets 中配置,workflow 里引用:

      - name: Deploy
        env:
          SSH_KEY: ${{ secrets.SSH_KEY }}
        run: ./deploy.sh

切勿把密钥写死在代码或日志里,GitHub 会自动对 secret 打码。

多环境发布

environment 区分 staging / production,并可配置审批:

  deploy-prod:
    needs: build
    environment: production
    runs-on: ubuntu-latest
    steps:
      - run: ./deploy.sh prod

小结

GitHub Actions 的优势是零基础设施、YAML 即代码、与仓库深度集成。小团队用它做 lint+test+build 几乎零成本,规模上来后再引入矩阵构建与自托管 Runner。

流水线的第一原则:能自动化的就不要手动。一次配置,长期受益。

© 2026 CyreneStar · CyreneStar