红宝书第三十六讲:持续集成(CI)配置入门指南
查看总目录:红宝书学习大纲
一、什么是持续集成?
持续集成(CI)就像咖啡厅的"自动质检流水线"。代码每次提交后,自动运行测试、检查语法错误、打包代码,确保所有改动不会破坏原有功能[[^6]]。
二、三步看懂核心配置流程

三、手把手创建 .github/workflows/ci.yml
(以GitHub Actions为例)
yaml
name: CI Pipeline
on: # 触发条件(当代码推送到主分支时触发)
push:
branches: [ "main" ]
jobs:
test-and-build:
runs-on: ubuntu-latest # 使用最新版Linux系统
steps:
- name: 获取代码 🛒
uses: actions/checkout@v4
- name: 安装Node.js 🔧
uses: actions/setup-node@v3
with:
node-version: '20'
- name: 安装npm包 📦
run: npm install
- name: 运行单元测试 🧪
run: npm test
- name: 构建项目文件 🔨
run: npm run build
- name: 上传构建产物 🚚
uses: actions/upload-artifact@v3
with:
name: build-output
path: dist/
四、关键环节详解
-
监控代码变动
on: push
设置触发条件,每当代码推送到main
分支时启动流水线。 -
虚拟环境配置
runs-on: ubuntu-latest
指定在纯净的Linux环境执行任务,避免本地环境差异问题。 -
依赖安装
npm install
自动安装所有依赖(类似首次接手项目时npm i
的操作)。 -
自动化测试
npm test
执行所有测试用例。如果有测试失败,自动停止流程并通过邮件通知(就像考试不及格必须补考)。 -
构建优化
npm run build
生成优化后的生产环境代码(代码压缩、合并等处理)。 -
产物存档
构建结果被打包成
build-output.zip
保存,可随时下载或对接后续部署流程。
五、常见配置场景
需求场景 | 解决方案 |
---|---|
定时执行任务 | 添加 schedule: 定时触发器 |
多环境测试 | 定义矩阵策略并行测试 |
代码质量检查 | 集成ESLint/Prettier |
Docker镜像打包 | 使用Docker相关Actions插件 |
目录:总目录
上篇文章:红宝书第三十五讲:新手也能懂的静态代码分析指南:ESLint vs JSHint
下篇文章:红宝书第三十七讲:代码压缩与混淆入门指南