简单了解 前端自动化 及 CI 和 CD

990 阅读2分钟

什么是前端自动化?

53d788f1df624e20bfacf130a7974440_tplv-k3u1fbpfcp-zoom-1.jpg

前端自动化是指 前端代码的自动化构建、打包、测试及部署等流程。

  • 持续集成(Continuous Integration)。
  • 持续部署(Continuous Deployment)。
  • 前端自动化通常与 CI/CD 流程相结合。

什么是 CI/CD?

CI/CD即持续集成(Continuous Integration)、持续交付(Continuous Delivery)和持续部署(Continuous Deployment),是一种通过引入自动化构建部署来频繁向客户交付的方法。CI/CD是DevOps的基础核心,如果没有CI/CD自动化的工具和流程,DevOps是没有意义的,来看下图DevOps工作流程图:

7c4c4d97d2d04dfc9de3cf38514f0b87_tplv-k3u1fbpfcp-zoom-1.png

具体的流程为:

  • 计划plan,编码code,然后编译build,测试test(Dev)
  • 发布release,部署deploy,运维operate,监控monitor(Ops)
  • 然后发现问题或有新的需求,就重新计划plan...如此循环 这就是完整的DevOps流程,试想如果没有自动化,那将是很繁重的任务。

ci/cd 通俗简介

ci(Continuous Integration) 简称 持续集成,意思是新增代码后自动校验代码格式,打包,构建,跑单测,单测覆盖率,对应我们前端常见的就是 ESLint,webpack打包,各种脚本,cd(Continuous Delivery)简称 持续交付,意思是 经过 ci后,代码自动部署,对应前端的常见的是 打包后,自动发布到 oss(Open Storage Service 对象存储服务,此处不确定,有知道的小伙伴指正?),刷新cdn。

这个流程的好处比较明显,简化重复的工作,也避免了人为操作出现的问题

与传统项目部署对比,自动化流程的意义

  • 减少人为失误,提高软件质量
  • 效率迭代,便捷部署
  • 快速交付,便于管理

主流的自动化软件对比

分类JenKinsTravis CICircle CI
本地部署支持云平台云平台
配置高度可配置YAML文件YAML文件
跨平台Linux+MacLinux+Mac
多服务器
费用免费收费收费

从上图可以看出主要的软件有Jenkins,Travis CI,Circle CI, 后面两个是云平台,而且只支持公有Public项目,私有项目需要付费;Jenkins支持本地化部署,而且免费,可高度配置,是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。

注:知识脑图

WeChat60204815d3438d13776ad028014a05e6.png