# 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

Last Updated: 12/22/2022, 9:53:26 AM