优维低代码技术专栏, 是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。
-
连载第四十五期
《现场定制: 定制构件的打包及部署 》
▽
# 打包
对于用 create-next-repo 脚手架生成的仓库,我们提供了一个简单的命令去打包对应的构件库。在项目根目录下直接运行l erna run pack:tar --scope=YOUR-BRICKS-OR-MICRO-APPS , 执行后会在对应的库目录下生成最终的 tar 包。如:
打包 bricks/hello-world: lerna run pack:tar --scope=@bricks/hello-world ,生成的 tar 包在 bricks/hello-world/hello-world-NB.tar.gz
但在执行打包命令之前,建议你先排查依赖是否声明准确,brick_next 对依赖的管理相当严格,不然会是一堆的报错。详细见下文
# 包的命名及部署规范
templates 打出来的包后缀叫 -NT ,部署路径在 /usr/local/easyops/templates/xxxx
# 可能出现的错误
micro-apps 打包报依赖错误
请检查:
在项目的顶级 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
# 平台部署
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞0
添加新评论0 条评论