一文带你解决Hbuilder Cli创建uniapp的痛点

463 阅读3分钟

1. 背景

在过去,我们的业务主要是做跨平台小程序,但是只有内部管理系统接入了相关CI操作,在鄙人接手一个小程序项目时,也逐渐发现了之前存在的一些痛点,各业务的开发人员在使用Hbuilder通过手动操作编译不同平台的产物后,利用小程序开发者工具打开对应构建产物,进行小程序二维码预览小程序上传至后台操作时,且有可能需要针对不同小程序主体来进行对应修改参数来进行上述操作。很明显这些重复且简单浪费时间的操作很影响整体的研发效率,且有一定的风险来造成线上事故。因此有了以下奇思妙想~

2. 想法落地过程

2.1 本地操作

该项目是使用Hbuilder编辑器创建的小程序 利用本地Hbuilder Cli来做一些自动化构建工作 image.png

飞书作为我们企业内部的IM工具 image.png

飞书消息推送 image.png

该过程都是在本地执行相关指令来完成的操作

2.2 CI操作

这里提到的CI工具可以是jenkins、gitlab ci等等

利用drone ci方式利用window server中的Hbuilder Cli配合miniprogram-ci实现小程序预览或发布

这里的提到的miniprogram-ci是上篇文章中有提到过的一个契合内部业务集成微信、支付宝等小程序的ci能力的npm

image.png

image.png

image.png

相关逻辑同上,只是将一些操作放在了CI

2.3 改造CI逻辑,兼容各业务小程序

image.png

具体相关逻辑和服务端大佬一起考虑兼容性的问题

痛点在于需要对Hbuilder Cli在执行脚本时做一些容错处理,它老崩溃

这里的产物既可以配合CI实现研发全流程,也可以配合上篇文章中提到的小程序自动构建平台来配合使用

3. 总结

后续项目真的打算推团队使用uni-cli来起项目咯,兼容历史遗留问题实在是太痛苦啦

最近也在搭建新的模版项目,基于github.com/ttk-cli/uni… 进行二次开发使用,感兴趣的朋友可以看一下

又水一篇文章啦哈哈哈哈哈哈哈!主要是想对自己阶段性做的事情做个简单总结吧

4. 友情链接

网上关于利用Hbuilder Cli去做自动化的文章是真的少得可怜,鄙人也是翻烂了才去试着跑通的,欢迎有相关痛点的朋友们来交流!