前端CI持续集成

前述

我是前端从业人员嘎子,最近一直忙于工作和个人的事情,一直没有来得及更新文章,今天空闲了把我做的一部分前端CI相关的事情整理了一下,希望可以帮助到一部分同学。

什么CI

Continuous Integration 持续集成,自动化测试和验证需要被合并的代码,以确保这些代码符合规范,对生产环境不会造成破坏,尽早发现个人开发部分的问题。

CI可以解决哪些问题呢

(规则是可以根据自己团队的习惯和规范自由设置)

  • lint 代码规范
    • 一个团队还是需要一个统一的代码规范的,无论是对自己开发,还是同事间协作都可以节省很多不必要的事情
  • 代码合并冲突
    • 避免将冲突代码合并到主分支发布到生产环境
  • 代码复杂度
    • 程序自动分析代码的复杂度,可以有效的帮助开发者优化代码
  • 代码重复度
    • 减少不必要的重复,可以提炼出来的代码尽可能不要复制
  • 图片大小
    • 比如在移动端加载一个300kb以上的图片实际上是不友好的,浪费cdn资源还会让加载体验降低

上述问题是可以在本地开发阶段进行检测的,那如何设计CI的流程呢?

CI流程设计

我采用的是本地 + 远程监测

本地流程设计

与git hooks结合

结合git cz使用

  • 开发完成后执行git命令时触发
  • 执行ci命令开始检测
  • 检测异常退出git进程

注意这个地方是可以使用Git的操作跳过的,所以会加上远程监测

远程流程设计

与Jenkins结合使用,也可以与gitlab hooks结合使用

防止本地跳过检测以后远程还可以进行拦截

Jenkins CD流程演示

想要使用Jenkins 实现CD集成可以参考下我的这篇文章
前端 Jenkins + gitee 持续集成,详细教程

CI集成流程大致就是上述内容了,后续空闲时间会持续更新lint、代码重复度、代码复杂度的检测实现,希望可以帮助到部分同学

相关推荐
jianqiang.xue1 小时前
ESP-IDF保姆级入门17|GPIO外部中断全解与工程化设计:分层架构/防抖策略/长按双击/优先级配置,掌握工业级可靠输入处理
stm32·单片机·物联网·架构·esp32
郑州光合科技余经理3 小时前
本地生活服务系统:成品模块和定制接口怎么划界
java·前端·人工智能·后端·系统架构·php·ai编程
平头哥~7 小时前
Day 07 _ 那条 1px 的线,为什么在手机上忽粗忽细
前端·css·样式·学习资料
小江的记录本7 小时前
【CSS】CSS 动画:transition、animation、transform、CSS3 新特性(附《思维导图》)
前端·css·安全·spring·前端框架·css3·动画
circuitsosk7 小时前
任务规划器的三种范式对比:ReAct、Plan-and-Execute 与 Tree-of-Thought 在真实业务中的取舍
前端·javascript·python·react.js·llm·ai agent
hzxpaipai8 小时前
企业官网技术架构拆解:前端、后台、数据库、服务器如何协同
前端·数据库·架构
2601_963749109 小时前
越华环保集团数字化污水治理:端边云采集架构与平台对接实现
java·大数据·架构
Eloudy10 小时前
HSB FPGA 架构总体
fpga开发·架构
yychen_java10 小时前
九:Text-to-SQL 智能数据查询与 Human-in-the-Loop 人机协作
java·人工智能·架构