当前位置: 首页 > news >正文

前端中的 CI/CD 教程详解(附实践方案)

🚀 前端中的 CI/CD 教程详解(附实践方案)

📌 本文适合所有使用 Vue、React、Vite、Webpack 等构建工具的前端项目,手把手带你理解什么是 CI/CD、前端项目中如何实践,并给出 GitHub Actions 等实战例子。


📌 一、什么是 CI/CD?

CI/CD 是现代软件开发流程的基石:

缩写全称含义
CIContinuous Integration持续集成:自动测试、构建和代码检查
CDContinuous Delivery / Deployment持续交付/持续部署:自动发布到测试或生产环境

通俗理解:

  • CI:开发同事提交代码后,系统自动执行测试 & 构建 → 保证代码质量
  • CD:代码一旦构建成功,自动上传服务器 / 云平台 → 实现自动上线

✨ 前端中,CI/CD 解决了“构建依赖难管理、上线靠手动、环境不一致”等问题


🧩 二、前端项目常见的 CI/CD 流程图

Git Push↓
CI/CD 平台监听到提交↓
拉取代码 & 安装依赖(如:pnpm install)↓
执行测试(如:vitest、jest)↓
构建产物(vite build)↓
构建成功后:→ 自动部署到静态资源服务器(如 OSS、Vercel、Netlify)→ 或上传至后端(如 Nginx、Tomcat 等)

⚙️ 三、前端中 CI/CD 用于哪些场景?

场景示例
自动部署代码提交后自动上线,无需手动打包
多环境支持dev/test/pro 环境自动区分部署
自动测试合并代码前自动跑测试防回归
Lint 检查eslint/stylelint 校验规范性
自动生成版本自动生成 version.json 提示前端系统更新

🛠️ 四、主流 CI/CD 工具推荐

平台优势使用场景
GitHub Actions ✅与 GitHub 集成最佳,免费配额Vue/React 项目部署到 Netlify/Vercel
GitLab CI私有仓库支持好企业自建 GitLab 平台
Jenkins自由度高企业内部部署复杂流程
Vercel/Netlify零配置极速部署快速预览、部署静态网站
阿里云/腾讯云部署工具与云服务集成部署到国内服务器

✍️ 五、实战:GitHub Actions 实现 Vue3 项目的 CI/CD

项目结构假设使用的是 Vite + Vue3,托管在 GitHub 上,部署到 Netlify(也可换为 OSS 或自建服务器):

1. 在项目根目录创建 .github/workflows/deploy.yml

name: CI & Deployon:push:branches:- main  # 或 master 分支jobs:build-and-deploy:runs-on: ubuntu-lateststeps:- name: 拉取代码uses: actions/checkout@v3- name: 安装 Node.jsuses: actions/setup-node@v3with:node-version: 18- name: 安装依赖run: |corepack enablepnpm install- name: 构建项目run: pnpm run build- name: 部署到 Netlify(或 OSS)uses: nwtgck/actions-netlify@v1with:publish-dir: ./distproduction-deploy: trueenv:NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}

2. 添加 Secrets(密钥)

在 GitHub 项目 → SettingsSecrets → 添加:

  • NETLIFY_AUTH_TOKEN
  • NETLIFY_SITE_ID

3. 成功效果:

  • 你每次 git pushmain 分支
  • GitHub Actions 会自动构建并部署至 Netlify
  • 项目更新完成,无需本地打包上传!

🧩 六、最佳实践 Tips

✅ 1. 区分不同环境构建

# package.json
"scripts": {"dev": "vite","build:dev": "vite build --mode development","build:prod": "vite build --mode production"
}

然后在 .env.development.env.production 中分别配置不同 API 地址、版本号等。


✅ 2. 自动生成前端版本号用于更新提示

CI/CD 中构建时写入版本:

// vite-plugin-generate-version.ts
const version = new Date().toISOString();
fs.writeFileSync('public/version.json', JSON.stringify({ version }));

✅ 3. 构建结果提交给后端(如上传 OSS)

- name: 上传到阿里云 OSSrun: |ossutil cp -r dist oss://your-bucket-name/your-path/ -f

📦 七、总结

优势描述
高效提交即构建,无需人工
安全权限可控,免上传打包文件
稳定保证构建环境一致性
易用GitHub Actions、Netlify 配置简单

📁 示例项目推荐

  • Vue3 + Vite + GitHub Actions + Netlify:vite-vue3-template
  • CI/CD 教程合集:awesome-actions

如果你希望结合 企业私有部署(如 Jenkins + Nginx)自动化测试流程整合,也可以继续扩展,比如:

  • 自动触发后端接口通知
  • 前后端联动构建
  • 自动化 UI 测试(Cypress、Playwright)

📌 前端项目要实现真正高效上线,一套合理的 CI/CD 流程是不可或缺的,建议每个团队早早建立起来!

http://www.lryc.cn/news/575055.html

相关文章:

  • 初学python的我开始Leetcode题10-3
  • Node.js-fs模块
  • 【Linux】Shell 脚本编程——条件测试与比较
  • python的易家宜超市云购物系统
  • 无人机灯光驱动模块技术解析
  • 京东正式开源 Taro on HarmonyOS C-API 版本,为鸿蒙应用跨端开发提供高性能框架
  • Xcode缓存清除
  • 【CUDA调优指南】缓存访存流程
  • Jenkins CLI 使用方法介绍
  • Jenkins JNLP与SSH节点连接方式对比及连接断开问题解决方案
  • 力扣2040两个有序数组的第K小乘积
  • Docker、Docker composer与Docker desktop
  • 英文摘要给成中文摘要模型
  • 探索解析C++ STL中的 list:双向链表的高效实现与迭代器
  • NCCN Guidelines Navigator:数智化工具引领肿瘤精准治疗新纪元
  • 八股文——JAVA基础:说一下C++与java的区别
  • 企业内部安全组网技术解析:安全通道选型、零信任架构与数据合规加密防护
  • 【AI论文】拖拽式大型语言模型:零样本提示到权重的生成
  • 打造灵活强大的PDF解析管道:从文本提取到智能分块的全流程实战
  • 从零构建 gRPC 跨语言通信:C++ 服务端与 C# 客户端完整指南
  • 数据库1.0
  • OceanBase向量检索在货拉拉的探索和实践
  • 【智能协同云图库】智能协同云图库第二弹:用户管理系统后端设计与接口开发
  • Mysql使用窗口函数查询
  • 基于MATLAB的BP神经网络的心电图分类方法应用
  • 云原生与人工智能的融合:从弹性架构到智能运维的IT新范式
  • Notepad++ 漏洞可致攻击者获取系统完全控制权
  • 第⼀个与⼤模型交互的应⽤
  • 快手视频怎么下载?详细教程与方法解析
  • 一步部署APache编译安装脚本