CI/CD

思维脑图

前端部署一般流程:获取代码 > 安装依赖 > 源码构建 > 产物打包 > 推送代码 重启服务

本地部署的优劣势

优势:

  1. 无需重新拉取代码
  2. 包含最新依赖
  3. 可以增量构建
  4. 可以快速调试

劣势:

  1. 环境一致性
    • 操作系统
    • node 版本
    • 本地和服务器环境
  2. 过程一致性
  3. 可回溯性
    • 日志,本地只有临时日志
    • 产物,通常部署系统中会留存最近几次部署的构建产物包
  4. 人员分工

CI/CD

持续集成(Continuous Integration,CI)和持续交付(Continuous Delivery,CD),是软件生产领域提升迭代效率的一种工作方式:开发人员提交代码后由 CI/CD 系统自动化地执行合并、构建、测试和部署等一系列管道化(Pipeline)的流程,从而尽早发现和反馈代码问题,以小步快跑的方式加速软件的版本迭代过程。

这个过程通常是各系统(版本管理系统、构建系统、部署系统等)以自动化的方式协同完成的。而本地部署依赖人工操作,所以并不支持这种自动化的处理过程。

自动化部署工具

  • Jenkins
  • CircleCI
  • Github Actions
  • Gitlab CI

资料