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

三、手把手创建 .github/workflows/ci.yml(以GitHub Actions为例)
 
name: CI Pipelineon:  # 触发条件(当代码推送到主分支时触发)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@v3with:node-version: '20'- name: 安装npm包 📦run: npm install- name: 运行单元测试 🧪run: npm test- name: 构建项目文件 🔨run: npm run build- name: 上传构建产物 🚚uses: actions/upload-artifact@v3with:name: build-outputpath: 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插件 |