基于 Travis CI + PM2 实现 NodeJS 应用的持续集成和部署
前言 我发现一旦手头的项目变多,且随着项目复杂度的提升,本来编码就已经是个够头痛的问题,再加上部署到生产环境就更心累了 😵。 之前在公司实习时,有一个 依据用户输入网址进行截屏 的项目,同时包含了 React 应用和 Node 应用。 部署 React 应用比较方便,只要通过 scp 将 build 后的 dist 目录放置在服务器上。 而 Node 应用则较为复杂: 由于它使用 TS 编写,同样需要将 build 后 dist 目录放置在服务器上 在根目录下新建目录并使用 chmod 修改权限,用于暂时放置截屏快照 更新 npm 包 重启 PM2(Node 进程管理工具) 在项目初期,版本迭代非常快,我每天都要反复执行以上步骤数次,waste time! 何况,在标准的开发流程中,我们还需引入 单元测试 、 覆盖率报告 、 代码风格检测 ……,并将应用部署到 不同环境的服务器 (开发、测试、生产)中,这无疑是一项繁琐的工作,本着 不想当运维的前端不是一个好全栈 的核心思想,我迫切需要解放我的双手。 TIP:结尾有源码链接 CI & CD 所谓前人栽树,后人乘凉,我的诉求早就在开发领域中被定义为两个专有名词: 持续集成(Continuous Integration),简称 CI 持续部署(Continuous Deployment),简称 CD 听起来很高大上