耿健的个人博客

一个即将放飞理想的咸鱼博主

0%

7.Shell脚本之实现微信小程序本地自动打包上传

背景痛点

在开发流程中的测试阶段,
当测试完一批 bug 单,就需要去打一个最新版的体验码,
来配合测试去检验新的一批 bug 单。
打体验码的话,需要那个人现将写到一半的代码 git stash,
开始编译打包。

在持续集成系统没有搭建完毕的时候,
可以临时写一个脚本,来完成繁琐的打包上传工作。

脚本功能

通过 shell 脚本来实现平台版和专属版小程序自动打包的功能。
只需要在拉取最新代码后,执行脚本,输入版本号/版本备注,
即可实现一键对平台版/专属版,两套代码的自动编译,
利用微信 cli 接口来实现打包上传。
每次打体验码时间大概可以控制在 5 分钟以内。

脚本思路

  1. 校验入参合法性。版本号的规则正则校验。
  2. 兼容 Window 和 mac 系统,适配两个系统的路径。
  3. 修改小程序标识位,设置为专属版标识。
  4. 编译代码。
  5. 修改开发者工具 appid。
  6. 上传代码
  7. 重复 3-6 步骤,将小程序标识位设置为平台版。

环境配置

  1. macOS:
    <安装路径>/Contents/MacOS/cli

  2. Windows:
    配置环境变量 WECHAT_DEVTOOL_PATH_CLI: <安装路径>/cli.bat
    ※ 确保安装路径不能有空格!
    重启电脑以应用环境变量
    配置 nodejs / npm 环境

  3. 微信开发者工具配置:
    设置 -> 安全设置 -> 服务端口
    设置为:开启

优化方向

  1. 目前脚本只是调用写死的 APPID,未来可以优化动态读取小程序的 APPID。

附件

小程序本地自动打包脚本