当前位置: 首页 > Web前端 > HTML

SREWorksv1.4发布-离线安装&前端重构

时间:2023-03-28 00:36:05 HTML

v1.3之后,SREWorks团队收集了很多用户反馈,大家普遍对内网离线安装SREWorks的需求很大。所以团队决定进一步提升这部分的安装能力。前端工程部分(frontend)供开发者进行更敏捷高效的协同开发,社区开发者参与构建前端组件生态。我们对前端工程架构进行了重组拆分,按照Monorepo模型架构进行演进;同时对工程建设相关工具进行了优化升级。以下是v1.4版本功能版本介绍:1.前端工程Monorepo模式重构Monorepo是单仓库(repository)多包(package),大型前端工程项目采用此模式进行开发管理,可以给开发和管理带来很多便利:更清晰的模块结构和依赖关系;更细粒度的独立构建单元,便于协同开发,不同更新频率的分包单独发布;更高效的代码复用等。在v1.4版本中,我们采用了lerna+yarnworkspace的技术方案来实现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版本中,我们也将整个base(appId:flycore)放到了运维市场,让它的相关image和meta信息固化到开源代码中,作为部署baseline。收敛后的镜像列表链接如下,后续发布每次有应用版本更新都会自动更新镜像列表。https://github.com/alibaba/SR...列表中共有59张图片,总存储空间约5.9G。下图是SREWorks前端组件绘制的按照图片大小排列的列表的矩形树状图:离线部署命令示例如下,底层依赖软件镜像仓库和运维应用需要单独设置:镜像仓库为sreworks.io/hub-test示例:#下载sreworks到本地gitclonehttp://github.com/alibaba/sreworks.git-bv1.4sreworkscdsreworks/chart/sreworks-chart#安装SREWorkshelm安装sreworks./\--create-namespace--namespacesreworks\--setglobal.accessMode="nodePort"\--setglobal.images.tag="v1.4"\--setappmanager.home.url="http://localhost:30767"\--setsaas.onlyBase=true\--setglobal.images.registry="sreworks.io/hub-test"\--setglobal.images。imagePullPolicy="IfNotPresent"\--设置appmanagerbase.kruise.manager.image.repository="sreworks.io/hub-test/kruise-manager"\--设置appmanagerbase.mysql.image.registry="sreworks.io"\--setappmanagerbase.mysql.image.repository="hub-test/mysql"\--setappmanagerbase.zookeeper.image.registry="sreworks.io"\--setappmanagerbase.zookeeper.image.repository="hub-test/zookeeper"\--setappmanagerbase.redis.image.registry="sreworks.io"\--setappmanagerbase.redis.image.repository="hub-test/redis"\--setappmanagerbase.minio.image.registry="sreworks.io"\--setappmanagerbase.minio.image.repository="hub-test/minio"3.其他appmanagerkankio构建逻辑优化升级使用rancher/local-path-provisioner作为默认存储provisioner,去除openebs对skywalking的依赖进行版本升级(从8.5.0升级到9.3.0),解决skywalking初始化es相关索引异常问题4.如何从当前版本升级到v1.4升级包括base,可能会出现5页-10分钟无法访问,请注意用户开发的云原生应用不会受到影响(无需重启),SREWorks网关到应用的流量会中断gitclonehttp://github.com/alibaba/sreworks.git-bv1.4sreworkscdsreworks./sbin/upgrade-cluster.sh--kubeconfig="****》如果您在使用过程中遇到问题,欢迎您在GitHub提交Issues或Pullrequests。SREWorks开源地址:https://github.com/alibaba/sreworks