上线流程优化

全流程上线

项目创建
项目研发
添加模块&分支
项目测试&bug修复
文件归档
部署测试环境
项目上线
部署生产环境

细化节点内容

部署生产环境
部署测试环境
部署生产环境
部署生产环境
部署测试环境
部署测试环境
部署测试环境
项目创建
项目研发
添加模块&分支
项目测试&bug修复
文件归档
项目上线

上线流程优化

优化前端项目速度

当前现状

项目安装
项目编译
镜像构建
镜像部署

当前可优化的节点 项目安装

70%的更改 都是业务代码的修改, 一般不会修改package.json,所以有必要将node_module进行缓存,这样可以减少安装等待时间。

1. 当前任务前端流程

安装编译部分

1. FROM 192.168.100.36:1179/xiaoke/node:12.15.0 AS builder
2. WORKDIR /home/node/app                       # 创建工作目录
3. COPY package.json .yarnrc /home/node/app/    # 将package.json复制到工作目录 
4. RUN yarn install                             # 项目依赖安装
5. COPY . /home/node/app                        # 将项目文件复制到工作目录
6. RUN npm run build:dev                        # 项目开始编译 
Jenkins Wokspace
编译/打包机
copy
copy
项目编译
yarnrc
编译前置操作
中间产物
项目打包
docker
project

在这里插入图片描述

可以优化的点

  1. node版本不可选择,需要单独定制。
  2. 安装前需要把 yarnrc/npmrc 文件复制到工作目录。
  3. 依赖安装 node_module目录每次都要重新生成。
2. Node_module缓存到基础镜像

优点,固定版本每个编译依赖都是完全一致的。
缺点,更新比较麻烦
理想状态:用户无感知的使用上一次的node_modules

将编译优化方案

  1. 建立编译机器

  2. 使用编译机器,使用编译机器对项目代码进行编译

  3. node_modules: 编译机器挂载本地工作目录,安装时产生的node_modules会存在机器上

    在不修改package.json的情况下会大大提高安装效率

  4. Output: 编译完成后,产出的产物也在本地工作目录。

  5. 产物打包,生成制品Docker

    1. 将当前工作目录下编译产出的Output目标复制到Docker内。
Jenkins Wokspace
编译机
Docker打包
COPY
volume挂载到编译机
项目编译
编译前置操作
中间产物
项目打包
docker
node_module

在这里插入图片描述

文档链接: https://juejin.cn/post/7065131573615525919/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

从未、淡定

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值