1. 为什么你需要告别手动部署?
去年我接手了一个中型前端项目,每次发布新版本都要经历这样的流程:本地构建 → 压缩dist文件夹 → 通过SFTP上传服务器 → 手动备份旧版本 → 替换文件 → 重启Nginx。有次凌晨三点紧急修复bug时,困得把构建失败的代码部署了上去,导致生产环境崩溃两小时。这种血泪史让我彻底明白:现代软件开发必须拥抱自动化部署。
GitHub Actions作为GitHub原生CI/CD解决方案,与代码仓库无缝集成。相比传统Jenkins需要单独维护服务器,它直接在GitHub云端执行流水线,提供每月2000分钟的免费额度(私有仓库也有500分钟)。我迁移后的项目现在只需git push就能自动完成:代码检查 → 单元测试 → 多环境构建 → 灰度发布全流程,部署时间从原来的15分钟缩短到3分钟,且再没出现过人为失误。
2. 从零配置你的第一个工作流
2.1 基础工作流文件解剖
在项目根目录创建.github/workflows/deploy.yml文件,这是最简可用的配置模板:
yaml复制name: Node.js CI/CD Pipeline
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: '18'
- run: npm ci
- run: npm run build
- run: npm test
关键配置解析:
on.push.branches定义触发分支,通常保护main分支runs-on指定运行环境,ubuntu-latest是最稳定的选择uses调用官方预置动作,比直接写shell更可靠- 步骤顺序遵循安装依赖→构建→测试的黄金流程
2.2 必须掌握的三个进阶技巧
- **矩
