优维低代码:定制构件的打包及部署

该文介绍了优维低代码技术专栏的内容,重点讲解如何对micro-apps和bricks进行打包,包括使用lernaunpack命令创建tar包,以及包的命名和部署规范。在打包前需确保依赖声明准确,避免报错。文章还提供了手工部署和平台部署的步骤。
摘要由CSDN通过智能技术生成

 优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。


连载第四十五期

《现场定制:定制构件的打包及部署》

# 打包

对于用 create-next-repo 脚手架生成的仓库,我们提供了一个简单的命令去打包对应的构件库。在项目根目录下直接运行lerna run pack:tar --scope=YOUR-BRICKS-OR-MICRO-APPS, 执行后会在对应的库目录下生成最终的 tar 包。如:

  • 打包 micro-apps/hello-world:lerna run pack:tar --scope=@micro-apps/hello-world,生成的 tar 包在 micro-apps/hello-world/hello-world-NA.tar.gz
  • 打包 bricks/hello-world:lerna run pack:tar --scope=@bricks/hello-world,生成的 tar 包在 bricks/hello-world/hello-world-NB.tar.gz

但在执行打包命令之前,建议你先排查依赖是否声明准确,brick_next 对依赖的管理相当严格,不然会是一堆的报错。详细见[下文](#micro-apps 打包报依赖错误)

# 包的命名及部署规范

  • micro-apps打出来的包后缀是叫-NA,部署路径在/usr/local/easyops/applications/xxxx
  • bricks打出来的包后缀是叫-NB,部署路径在/usr/local/easyops/bricks/xxxx
  • templates打出来的包后缀叫-NT,部署路径在/usr/local/easyops/templates/xxxx

# 可能出现的错误

micro-apps 打包报依赖错误

 请检查:

  1. storyboard.json 的一级字段 imports 有没都加入相关的构件依赖声明
  2. 在 micro-apps/you-micro-app-name/package.json 中的 peerDependencies 也需要加上对应构件的版本依赖,如果不知道构件版本,可写成>1.0.0
  3. 在项目的顶级 package.json 中的 devDependencies 也需要加上对应的字段,如果不知道构件版本,可写成>1.0.0

最终效果见

 # 部署

# 手工部署

将打好的包上传到机器,如上传到 /tmp/hello-world-NA.tgz

如果是-NA包(micro-apps):

cd /usr/local/easyops/applications && mkdir hello-world-NA
# 由于 npm 打包原因,注意第一层目录是叫 package,故要忽略第一级目录
tar -zxvf /tmp/hello-world-NA.tgz --strip-components 1 -C hello-world-NA
chown -R easyops:easyops hello-world-NA
cd hello-world-NA && bash deploy/install_postscript.sh

如果是-NB包(bricks)

cd /usr/local/easyops/bricks && mkdir hello-world-NB
# 由于 npm 打包原因,注意第一层目录是叫 package,故要忽略第一级目录
tar -zxvf /tmp/hello-world-NB.tgz --strip-components 1 -C hello-world-NB
chown -R easyops:easyops hello-world-NB
cd hello-world-NB && bash deploy/install_postscript.sh

如果是-NT包(templates)

cd /usr/local/easyops/templates && mkdir hello-world-NT
# 由于 npm 打包原因,注意第一层目录是叫 package,故要忽略第一级目录
tar -zxvf /tmp/hello-world-NT.tgz --strip-components 1 -C hello-world-NT
chown -R easyops:easyops hello-world-NT
cd hello-world-NT && bash deploy/install_postscript.sh

# 平台部署

  1. 将包上传到平台的程序包,注意要包名和部署路径要遵循 包的命名及部署规范
  2. 建立对应的应用,并绑定第 1 步的程序包(建议应用名与包名一致)
  3. 在应用设置里面,新建集群及关联平台的相关主机(如果是集群部署,将部署了brick_next组件的 ip 都勾选上,一般是 2~3 台)
  4. 执行主机部署
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值