-
Notifications
You must be signed in to change notification settings - Fork 0
前端发布系统评审ppt
title: 前端发布系统评审ppt url: https://www.yuque.com/endday/blog/rg2qgq
{"format":"lakeshow","type":"Show","version":"1.0","shows":[{"body":[{"type":"text","html":"<div style="text-align:center;"><span style="font-size:92px; font-weight:bold; color:rgb(38, 38, 38);">前端发布系统迭代","id":"75de4ea9-f198-4231-9ec7-b91a31624c1c","x":96.42857142857156,"y":304.2380952380953,"zIndex":0,"width":1245.9761904761904,"height":168,"rotate":0},{"type":"text","html":"<div style="text-align:center;"><span style="color:rgb(140, 140, 140); font-size:36px;">需求评审","id":"f42d3ef4-4582-45dc-af95-b88a31932ac1","x":96.42857142857156,"y":436.1320496484024,"zIndex":1,"width":1245.9761904761904,"height":91,"rotate":0}],"fill":{"color":"#ffffff"},"id":"cc7ff708-0194-4a86-a670-323b8fdd9842","thumb":"https://cdn.nlark.com/yuque/0/2021/jpg/122551/1637916786741-4c8f3e0f-a535-4198-a7e2-cf060d5bb95c.jpg"},{"id":"7bb9e7af-e37a-40d4-9355-8709392c0d50","body":\[{"type":"text","html":"\
<div style="font-size:32px; text-align:left;">为了缩短发布流程,减少重复操作,提高前端开发的效率,<div style="font-size:32px; text-align:left;">需要对前端发布系统进行一次迭代。","stroke":{"width":2},"id":"d7b0a770-3bd0-47a8-ab07-69da141e68c4","x":80.4695989650711,"y":204.62095730918497,"zIndex":1,"width":1271.9650711513584,"height":394.80595084087963,"rotate":0}],"fill":{"color":"#ffffff"},"thumb":"https://cdn.nlark.com/yuque/0/2021/jpg/122551/1637908307497-779d9753-069e-4c54-baa7-a1b5a2af5c02.jpg"},{"id":"8ccb6e56-a614-4cec-90b7-fea22ab995c3","body":\[{"type":"text","html":"\
<div style="font-size:32px; text-align:left;">2、构建环境和项目接口在同一台机器,没有分离,影响性能<div style="font-size:32px; text-align:left;">3、cdn发布接口存在明显的性能问题","stroke":{"width":2},"id":"117c2ca1-1d36-40df-9027-ae17c9f24bdb","x":70.4695989650711,"y":245.43984476067277,"zIndex":1,"width":1267.6778783958605,"height":196.80724450194046,"rotate":0},{"type":"text","html":"<div style="text-align:left;"><span style="font-size:36px;">性能问题","stroke":{"width":2},"id":"1550ffb5-7ee5-4d95-9074-21ec45b948b1","x":74.4695989650711,"y":153.03466607373878,"zIndex":2}],"fill":{"color":"#ffffff"},"thumb":"https://cdn.nlark.com/yuque/0/2021/jpg/122551/1637914668555-389605bb-3927-4047-b067-1f7c170a4c38.jpg"},{"id":"341b7f55-5353-429f-87e3-df3f534f44e3","body":\[{"type":"text","html":"\
","stroke":{"width":2},"id":"e3639d5f-c7ea-47ee-88c3-bc27b47aac60","x":79.4695989650711,"y":193.85510996119015,"zIndex":1},{"type":"text","html":"<div style="font-size:32px; text-align:left;">利用gitlab runner或者jenkins这些持续集成工具,建立一个全流程的CICD环境<div style="font-size:32px; text-align:left;">由持续集成工具来提供构建环境,配置解析,任务管理等功能","stroke":{"width":2},"id":"faa976cf-a5ea-43cc-b5ea-6ba8f5689e86","x":81.56532988357048,"y":180.37645536869343,"zIndex":2,"width":1270.9650711513584,"height":147.65329883570502,"rotate":0}],"fill":{"color":"#ffffff"},"thumb":"https://cdn.nlark.com/yuque/0/2021/jpg/122551/1637916346029-83b6563c-9cc7-4411-80f3-6cc3c9d00361.jpg"},{"id":"3b416470-c956-4aad-8403-cac08bbf81c4","body":\[{"type":"text","html":"\
<div style="text-align:left;"><span style="font-size:24px;">2、构建流程变成任务,无需手动触发,包括移动文件及发布cdn<div style="text-align:left;"><span style="font-size:24px;">3、通过提交或者推送代码触发构建,支持定时任务<div style="text-align:left;"><span style="font-size:24px;">4、通过配置文件可以配置前置钩子和后置钩子<div style="text-align:left;"><span style="font-size:24px;">5、根据package.json作为版本来缓存node_modules<div style="text-align:left;"><span style="font-size:24px;">6、远程配置文件合并(ci流程配置的继承与合并)<div style="text-align:left;"><span style="font-size:24px;">7、多版本node控制<div style="text-align:left;"><span style="font-size:24px;">8、旧的构建任务可以查看结果,包括log和下载文件","stroke":{"width":2},"id":"12651d90-65c0-4ec9-af5b-d6664546d117","x":227.69728331177225,"y":375.9547825032341,"zIndex":3,"width":1267.6778783958605,"height":350.2638462160415,"rotate":0},{"type":"text","html":"<div style="text-align:left;"><span style="font-size:36px;">功能迭代","stroke":{"width":2},"id":"a12fe05f-a698-476b-bf0e-780b7f38f991","x":67.13454075032335,"y":376.95478250323407,"zIndex":4}],"fill":{"color":"#ffffff"},"thumb":"https://cdn.nlark.com/yuque/0/2021/jpg/122551/1637920160699-6f7ae1e2-84d4-4388-a995-298242b77f05.jpg"}],"settings":{"selected":\["9cc89ed6-3113-4469-b48a-07b12f5c655c"],"viewport":{"zoom":0.9543209876543209,"tlCanvasPoint":\[-26.60413971539457,-16.765847347994814,1],"width":1425,"height":805}},"text":"前端发布系统迭代\n需求评审项目历史\n在19年,前端发布系统经过大版本迭代1、log日志的实时展示,使用webSocket替代了EventSource2、将项目数据储存到数据库中,例如viewPath3、增加了npm Install功能,可以使用项目独立的node_modules4、增加分支合并功能5、不再需要判断gulp项目、删除同步到master的功能等背景\n1、前端构建流程长2、需要手动操作的流程多3、性能瓶颈明显4、定制项目个性化构建能力薄弱为了缩短发布流程,减少重复操作,提高前端开发的效率,需要对前端发布系统进行一次迭代。现状分析\n1、只能发布在web仓库中的项目,不支持发布独立的仓库\n2、依赖前端执行接口,构建流程存在缺陷\n3、构建采取的手动触发,无法通过提交或者推送代码触发4、针对个别项目的个性化定制,支持度差,如前置或后置钩子任务5、手动维护node_modules的更新\n功能缺陷现状分析\n1、并发任务存在性能瓶颈2、构建环境和项目接口在同一台机器,没有分离,影响性能3、cdn发布接口存在明显的性能问题\n性能问题如何解决\n\n利用gitlab runner或者jenkins这些持续集成工具,建立一个全流程的CICD环境由持续集成工具来提供构建环境,配置解析,任务管理等功能方案对比\n现有流程方案对比\n改进流程改进\n1、可控制并发2、支持更大内存占用的构建任务3、构建任务在ci中运行,和项目接口分离4、优化cdn上传接口5、支持在 Kubernetes 集群中运行 GitLab-Runner 来动态执行 GitLab-CI 脚本任务\n性能优化\n1、支持单项目仓库发布2、构建流程变成任务,无需手动触发,包括移动文件及发布cdn3、通过提交或者推送代码触发构建,支持定时任务4、通过配置文件可以配置前置钩子和后置钩子5、根据package.json作为版本来缓存node_modules6、远程配置文件合并(ci流程配置的继承与合并)7、多版本node控制8、旧的构建任务可以查看结果,包括log和下载文件\n功能迭代"}