什么是前端自动化?
前端自动化是指 前端代码的自动化构建、打包、测试及部署等流程。
- 持续集成(Continuous Integration)。
- 持续部署(Continuous Deployment)。
- 前端自动化通常与 CI/CD 流程相结合。
什么是 CI/CD?
CI/CD即持续集成(Continuous Integration)、持续交付(Continuous Delivery)和持续部署(Continuous Deployment),是一种通过引入自动化构建部署来频繁向客户交付的方法。CI/CD是DevOps的基础核心,如果没有CI/CD自动化的工具和流程,DevOps是没有意义的,来看下图DevOps工作流程图:
具体的流程为:
- 计划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。
这个流程的好处比较明显,简化重复的工作,也避免了人为操作出现的问题
与传统项目部署对比,自动化流程的意义
减少人为失误,提高软件质量- 效率迭代,便捷部署
- 快速交付,便于管理
主流的自动化软件对比
| 分类 | JenKins | Travis CI | Circle CI |
|---|---|---|---|
| 本地部署 | 支持 | 云平台 | 云平台 |
| 配置 | 高度可配置 | YAML文件 | YAML文件 |
| 跨平台 | 是 | Linux+Mac | Linux+Mac |
| 多服务器 | 是 | 否 | 否 |
| 费用 | 免费 | 收费 | 收费 |
从上图可以看出主要的软件有Jenkins,Travis CI,Circle CI, 后面两个是云平台,而且只支持公有Public项目,私有项目需要付费;Jenkins支持本地化部署,而且免费,可高度配置,是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。