SREWorks v1.4 版本发布 | 离线安装 前端重构

news2025/1/15 22:33:37

在 v1.3 版本之后,SREWorks 团队收集了较多的用户反馈,大家普遍对于 SREWorks 的内网离线安装有较大的诉求。于是团队决定进一步增强这部分的安装能力。

前端工程部分 (frontend),为了开发者更加敏捷高效的协作开发,以及便于社区开发者参与共建前端组件生态。我们对前端工程架构进行了重新梳理拆分,按照 Monorepo 模式架构演进;同时也对工程构建相关工具进行了优化升级。

下面为 v1.4 的版本功能版本介绍:

1. 前端工程 Monorepo 模式重构

Monorepo 即单仓 (repository) 多包 (package),大型前端工程项目采用这种模式进行开发管理,能带来诸多的开发和管理便利:

  • 更加清晰的模块结构和依赖关系;

  • 更细粒度的独立构建单元便于协作开发和不同更新频率的子包单独发版;

  • 更加高效的代码复用等。

我们在 v1.4 版本中采用 lerna + yarn workspace 的技术方案进行了 Monorepo 的架构实践:将原工程拆分为 @sreworks/app 主包应用,和 @sreworks/components、@sreworks/widgets、@sreworks/framework、@sreworks/shared-utils 四个 npm 子依赖包。目录结构变动如下图所示:

工程重构过程中,我们对原有构建工具也进行了优化升级:

  • 主包应用采用 webpack5 作为构建工具,子依赖包采用 Rollup 作为构建工具;

  • 通过调优构建配置,将构建时间由 v1.3 版本的 74 秒降低到 23 秒,提升 68%;

  • 通过统一各子包依赖版本、合并重复依赖、以及部分 npm 依赖 cdn 引用本地化处理等方式进行了构建体积调优,调优至 1.6M,较 Monorepo 初版本的 5.4M,降低 70%;

  • @sreworks/widget-cli 远程组件脚手架进行了同步的构建升级。

2. 离线安装

早期版本的离线安装,依赖用户的 Maven 源、PIP 源在用户内网做应用的二次构建,用户普遍反馈内网场景对于这些源的支持也不齐全,更希望无构建直接拉起。

于是在 v1.4 版本中,我们将整个底座 (appId: flycore) 也都上架到了运维市场,使得其相关镜像及元信息,能够作为部署基线固化至开源代码中。

经过收敛之后的镜像清单如下链接,后续每次发版有应用版本更新,都会自动更新该镜像清单。

https://github.com/alibaba/SREWorks/blob/master/images.txt

清单中总共 59 个镜像,共计存储空间约为 5.9G。

下图为通过 SREWorks 前端组件绘制的按照镜像大小排列的清单矩形树图:

离线部署的命令示例如下,底层依赖软件和运维应用的镜像仓库需要分开设置:

镜像仓库以 sreworks.io/hub-test 为例:

# 下载sreworks到本地
git clone http://github.com/alibaba/sreworks.git -b v1.4 sreworks
cd sreworks/chart/sreworks-chart

# 安装SREWorks
helm install sreworks ./ \
--create-namespace --namespace sreworks \
--set global.accessMode="nodePort" \
--set global.images.tag="v1.4" \
--set appmanager.home.url="http://localhost:30767" \
--set saas.onlyBase=true \
--set global.images.registry="sreworks.io/hub-test" \
--set global.images.imagePullPolicy="IfNotPresent" \
--set appmanagerbase.kruise.manager.image.repository="sreworks.io/hub-test/kruise-manager" \
--set appmanagerbase.mysql.image.registry="sreworks.io" \
--set appmanagerbase.mysql.image.repository="hub-test/mysql" \
--set appmanagerbase.zookeeper.image.registry="sreworks.io" \
--set appmanagerbase.zookeeper.image.repository="hub-test/zookeeper" \
--set appmanagerbase.redis.image.registry="sreworks.io" \
--set appmanagerbase.redis.image.repository="hub-test/redis" \
--set appmanagerbase.minio.image.registry="sreworks.io" \
--set appmanagerbase.minio.image.repository="hub-test/minio" 

3. 其他

  1. appmanager kankio 构建逻辑优化升级
  2. 使用 rancher/local-path-provisioner 作为默认存储供应,移除 openebs 依赖
  3. skywalking 进行版本升级(从 8.5.0 升级到 9.3.0),解决 skywalking 初始化 es 相关 index 异常的问题

4. 如何从当前版本升级到 v1.4

  • 升级包含底座,页面可能会有 5-10 分钟的不可访问,请注意。
  • 用户自行开发的云原生应用不会受影响 (不重启),SREWorks 网关到应用的流量会有中断。

git clone http://github.com/alibaba/sreworks.git -b v1.4 sreworks

cd sreworks
./sbin/upgrade-cluster.sh --kubeconfig="****"

如在使用过程中遇到问题,欢迎各位在 GitHub 中提出 Issues 或 Pull requests。

SREWorks 开源地址:https://github.com/alibaba/sreworks

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/145371.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

web(一)—— HTML基础(web标准、开发工具、标签)

目标能够理解HTML的 基本语法 和标签的关系 能够使用 排版标签 实现网页中标题、段落等效果 能够使用 相对路径 选择不同目录下的文件 能够使用 媒体标签 在网页中显示图片、播放音频和视频 能够使用 链接标签 实现页面跳转功能一、基础认知目标:认识 网页组成 和 五…

vite使用css的各种功能

1.使用公共的变量(:root)定义在root的变量可以进行类的使用 :root { font-size: 160px;--main-bg-color:red } .red{color:var(--main-bg-color) }你看这个hello world变得多大多红 2.vite使用postcss-plugins/console’ 2-1安装:cnpm install postcss-plugins/co…

最大公约数-欧几里得算法

最近在复习数论,欢迎来到数论的起点gcd 最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。 欧几里得算法(辗转相除法) 已知两个数a和b,求出两数的最大公约数首先证明: 不妨…

uni-app入门:组件的基本使用

1.组件概念 2.组件分类 2.1 基础组件 2.2 拓展组件 2.3 easycom规范 3.自定义组件以及使用 3.1局部注册 3.2全局注册 1.组件概念首先讲一下什么是组件 官方说法: 组件是视图层的基本组成单元。 组件…

MySQL高级【存储过程】

1:存储过程1.1:介绍存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以简化应用开发 人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。 存储过…

玩转系统|Ventoy – 免格式化,超简单的『多合一』系统启动盘制作神器

Ventoy 现在可谓是U 盘启动界的一支独秀,简单来说,Ventoy 是一个制作可启动 U 盘的开源工具。有了 Ventoy 你就无需反复地格式化 U 盘,你的U盘不在局限于绑定某个PE系统,你只需要把 ISO/WIM/IMG/VHD(x)/EFI 等类型的文件拷贝到 U …

风控中的企业利润表的解读

对于中小微企业财务报表数据的三张最重要的报表——资产负债表、利润表、现金流量表,在评估企业的资质能力与风险程度等方面,都发挥着非常重要的作用。作为企业财务数据最基础的三个报表,每一类报表的数据指标信息,都从不同维度客…

用javascript分类刷leetcode18.队列(图文视频讲解)

队列的特点:先进先出(FIFO)队列的时间复杂度:入队和出队O(1),查找O(n)优先队列:priorityQueue,按优先级出队,实现 Heap(Binary,Fibonacci...)js里没有队列,但是可以用数组…

【数据结构】5.4 二叉树的性质和存储结构

二叉树的性质 性质1: 在二叉树的第 i 层上至多有 2 i-1 个结点(i > 1)。 证明:利用归纳法证明此性质。 第 i 层上至少也应该有 1 个结点,如果是 0 个结点的话那就没有这一层了。 性质2: 深度为 k &a…

java static 关键字

目录 一、前言 二、用途和效果 2.1. static修饰的范围 2.2.执行特点 2.3.static关键字的用途 三. 注意 static关键字误区: 一、前言 在我们学习java中会碰到许多关键字 , 例如: static、final、 transient、instanceof、break 、continue 等其他的关键字,今天…

CBM|用于lncRNA-疾病关联预测的数据资源和计算方法(综述)

CBM|用于lncRNA-疾病关联预测的数据资源和计算方法(综述) 最近搞了个公众号《AI and Bioinformatics》介绍应用于生物信息学的人工智能算法和研究进展,以及网络表示学习算法研究,欢迎向本公众号投稿文献解读类原创文章&#xff0…

11_7、Java集合之Collections工具类的使用

一、作用是操作Collection和Map的集合操作类。二、常用方法1、排序操作:(均为static方法)reverse(List):反转 List 中元素的顺序shuffle(List):对 List 集合元素进行随机排序sort(List):根据元素的自然顺序…

20.04安装carla0.9.13记录

已经多次在不同版本的系统18.04、20.04安装carla不同源码版本0.9.11,0.9.12,0.9.13了,发现每次安装总是会遇到那么几个问题,现在新配了主机又要重新安装carla,这次准备详细的记录一下,方便未来安装时又遇到…

共享单车蓝牙锁方案phy6222系列蓝牙芯片

公共交通工具的"最后一公里"是城市居民出行采用公共交通出行的主要障碍,也是建设绿色城市、低碳城市过程中面临的主要挑战。随着科技的发展,物联网领域市场的不断开拓BLE协议在共享交通工具上打开了突破口,目前已广泛应用及遍布我们…

更换服务器的笔记

文章目录背景问题汇总服务器 git 的建立Q: 启动的服务连不上背景 最近阿里云的服务器到期了,但是续费实在是太贵了 之前是嫌麻烦,然后续费还挺便宜的,所以就没折腾去换服务器 这回续费一个月就小一百, 吃不消了,不得…

【论文简述】DPSNet End-to-end Deep Plane Sweep Stereo(ICLR 2019)

一、论文简述 1. 第一作者:Sunghoon Im 2. 发表年份:2019 3. 发表期刊:ICLR 4. 关键词:MVS、深度学习、端到端、代价体、代价聚合 5. 探索动机:双目立体匹配无法扩展到多视图,平面扫描方法无法进行端…

基于python pyotrch开发的垃圾分类程序,含数据集,基于深度学习的垃圾分类程序

基于python的垃圾分类程序,提供数据集(pytorch开发) 完整代码下载地址:基于python pyotrch开发的垃圾分类程序,含数据集 垃圾分类是目前社会的一个热点,分类的任务是计算机视觉任务中的基础任务&#xf…

Qt进度条详解以及format显示格式

进度条的步进值 设置好进度条的最大值和最小值,进度条将会显示完成的步进值占总的步进值的百分比,百分比的计算公式为:百分比 (value() - minimum()) / (maximum() - minimum()) 部分函数含义 QProgressBar:横向或纵向显示进度的…

前端必备:五大css自动化生成网站(稀有级别!)

粉丝朋友们大家好,我是你们的 csdn的博主:lqj_本人 哔哩哔哩:小淼前端 另外,大家也可以关注我的哔哩哔哩账号,我会不定时的发布一些有关于全栈云开发以及前端开发的详解视频源码 1.微信小程序腾讯云开发之学生端收集数…

8.3K Star,这才是我们苦苦寻找的PDF阅读器。。。

程序员宝藏库:https://gitee.com/sharetech_lee/CS-Books-Store 无论是在大学期间,还是工作之后都很难绕开PDF软件。 比如看个论文、课件、演示文档…经常会用到PDF。 大学期间我是一个特别爱折腾各种各样电子产品、数码、软件、操作系统,曾…