前端研发链路之 CI/CD

简介: 本文首发于微信公众号“前端徐徐”,作者徐徐介绍了前端研发链路中的CI/CD。文章从CI/CD的背景、意义、运作方式及常用工具等方面进行了详细探讨,帮助读者理解如何在前端开发中有效应用CI/CD,提升开发效率和产品质量。

本文首发微信公众号:前端徐徐。

大家好,我是徐徐。今天跟大家聊聊前端研发链路中的 CI/CD。

前言

在现代的前端开发工程体系中,CI/CD 在里面扮演着重要的角色,它的出现改变了前端发布的方式,为构建大型应用提供了有利的基础设施,本片文章将分别从CI/CD产生的背景及意义,以及其运作方式和常用的工具来简单探讨一下,希望可以给你带来帮助。

CI/CD是从哪里来的?

从前的软件开发

想象一下,你在搭积木。以前的软件开发就像是你先设计好整个城堡,然后从底到顶一块块搭建,直到全部完成才能看到成果。这种方式叫"瀑布式"开发,就像水从高处流到低处,一步接一步。

新的玩法:敏捷开发

后来,人们发现这样做太慢了,而且容易出错。于是就有了新的玩法,叫"敏捷开发"。这就像是你搭一小部分,玩一下,觉得不好就快速调整,不断重复这个过程。这样做更灵活,也更容易适应变化。

CI的诞生

在敏捷开发中,有个聪明人(Martin Fowler)想到:为什么不经常把大家的积木拼在一起看看呢?这样可以早点发现哪里不对劲。这个想法就是CI(持续集成)的开始。

从CI到CD

CI让大家更容易发现问题,但是把积木(程序)搬到展示台(服务器)上还是很麻烦。于是人们又想到,能不能让这个过程也自动化呢?这就是CD(持续交付/部署)的由来。

云计算和DevOps推波助澜

随着云计算的出现,以及开发人员和运维人员开始更好地合作(DevOps),CI/CD变得更加容易实现和普及。

前端开发也要用CI/CD

现在的网页越来越复杂,就像是从搭简单的小房子变成了搭复杂的城堡。这时,CI/CD在前端开发中就显得特别重要了。它帮助开发人员更容易地管理这些复杂的"城堡"。

CI/CD到底是什么?

简单说说CI/CD

  • CI(持续集成):就像是经常检查你的作业,及时发现并改正错误。
  • CD(持续部署):把检查过的作业自动交给老师(上传到服务器)。

为什么CI/CD这么重要?

  1. 减少错误:经常检查,问题不容易积累。
  2. 加快速度:自动化流程,省去了很多手动操作。
  3. 降低风险:小步快跑,每次改动都不会太大。
  4. 团队协作更顺畅:大家的代码经常合在一起,减少冲突。

前端开发的CI/CD是怎么运作的?

下面画了一个大概的CI/CD的运作流程图,仅供参考。

1. 提交代码

  • 用Git管理代码,就像是给你的积木拍照片,记录每一次改动。
  • 使用分支策略,相当于在不同的桌子上搭积木,互不影响。

2. 自动构建

  • 用工具(如Webpack)把你的代码积木变成一个完整的作品。

3. 自动测试

  • 单元测试:检查每个小零件是否正常工作。
  • 集成测试:检查零件组合在一起是否正常。
  • E2E测试:模拟用户操作,看看整个作品是否正常运转。

4. 代码质量检查

  • 用工具检查代码是否整洁、是否有明显的错误。
  • 确保所有人的代码风格一致,就像确保所有积木的颜色和形状匹配。

5. 自动部署

  • 把检查通过的作品自动放到展示台上(测试服务器、预发布服务器、正式服务器)。

当然,上面提到的至少一些核心的步骤,最主要的还是根据自己的需要,自定义多种脚本去满足自己的发布需求。

常用的CI/CD工具

下面列举一些常用的CI/CD工具,每个工具都有自己的特点,大家可以各取所需。

  1. Jenkins:像是一个勤劳的助手,帮你完成各种自动化任务。
  2. GitLab CI/CD:直接集成在GitLab代码仓库中的自动化工具。
  3. Travis CI:云端的CI服务,特别适合开源项目。
  4. CircleCI:另一个流行的云端CI/CD平台。
  5. GitHub Actions:GitHub自家的CI/CD服务,与GitHub无缝集成。

小贴士

说了这么多,来点我日常开发的一些小技巧吧。

  1. 经常提交小改动,不要攒一大堆再提交。
  2. 能自动化的就自动化,省时省力。
  3. 保证快速反馈,CI/CD过程要够快。
  4. 把CI/CD的配置文件也放在代码仓库里管理。
  5. 确保开发、测试和生产环境尽可能一致,避免"我这里能运行"的问题。
  6. 在CI/CD过程中加入安全检查,防患于未然。

总结

在前端开发中使用CI/CD,就像是给自己找了一个得力助手。它帮你自动完成很多繁琐的工作,让你可以专注于创造性的任务。通过自动化的构建、测试和部署,你和你的团队可以更快地交付高质量的产品,同时还能降低出错的风险。

所以,如果你还没有在你的前端开发流程中引入CI/CD,不妨试试看,你会发现开发工作变得更加轻松和高效,个人觉得 GitHub Actions 真的非常好用,欢迎和我探讨。

相关文章
|
7月前
|
人工智能 前端开发 JavaScript
详解智能编码在前端研发的创新应用
接下来,人与智能体的交互将变得更为紧密,比如 N 年以后是否可以逐渐过渡。这个逐渐过渡的过程实际上是温和的,从依赖人类到依赖超大规模算力的转变,可能会取代我们的一些职责。这不仅仅是简单的叠加关系。对于AI和超大规模算力,这是否意味着我们可以大幅度提升软件质量,是否可以缩短研发周期并提高效率,还有创造出更优质的软件并持续发展,这无疑是肯定的。
404 25
|
7月前
|
人工智能 自然语言处理 前端开发
巧用通义灵码,提升前端研发效率
本次分享,主题是利用通义灵码提升前端研发效率。分享内容主要包括以下几部分:首先,我将从前端开发的角度介绍对通义灵码的基本认识;其次,我将展示通义灵码在日常研发中的应用案例;然后,我将通过实例说明,良好的设计能够显著提升通义灵码的效果。在第四个部分,我将介绍通义灵码的企业知识库以及如何利用 RAG 构建团队智能研发助手。最后,我将总结本次分享并展望未来方向。
|
7月前
|
人工智能 前端开发 JavaScript
智能编码在前端研发的创新应用
在前端开发领域,智能编码技术正引领一场变革,通过大模型的强大能力将自然语言需求直接转化为高效、可靠的代码实现。
300 10
|
7月前
|
人工智能 前端开发 JavaScript
详解智能编码在前端研发的创新应用 | 领通义灵码蛇年红包封面
详解智能编码在前端研发的创新应用 | 领通义灵码蛇年红包封面
|
7月前
|
人工智能 自然语言处理 前端开发
从前端视角聊聊通义灵码使用经验,如何更好地提升研发效率
从前端视角聊聊通义灵码使用经验,如何更好地提升研发效率
|
11月前
|
Web App开发 前端开发 安全
前端研发链路之测试
本文由前端徐徐撰写,介绍了前端测试的重要性及其主要类型,包括单元测试、E2E测试、覆盖率测试、安全扫描和自动化测试。文章详细讲解了每种测试的工具和应用场景,并提供了选择合适测试策略的建议,帮助开发者提高代码质量和用户体验。
240 3
前端研发链路之测试
|
11月前
|
前端开发 JavaScript 编译器
前端研发链路之构建
本文首发于微信公众号“前端徐徐”,作者徐徐探讨了前端研发链路中的构建过程。文章介绍了构建器、JavaScript编译器和CSS编译器的作用及常见工具,详细解析了它们如何协同工作,提高开发效率和项目可维护性。适合前端开发者阅读,帮助理解现代前端构建体系。
85 1
前端研发链路之构建
|
11月前
|
缓存 JavaScript 前端开发
拿下奇怪的前端报错(三):npm install卡住了一个钟- 从原理搞定安装的全链路问题
本文详细分析了 `npm install` 过程中可能出现的卡顿问题及解决方法,包括网络问题、Node.js 版本不兼容、缓存问题、权限问题、包冲突、过时的 npm 版本、系统资源不足和脚本问题等,并提供了相应的解决策略。同时,还介绍了开启全部日志、使用替代工具和使用 Docker 提供 Node 环境等其他处理方法。
7753 1
|
11月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
842 14
|
11月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
205 0

热门文章

最新文章