miniprogram-helper-cli
微信小程序 CI 助手工具
微信小程序 CI 自动化命令行助手工具,无需扫码登录,一键上传发布,方便快捷,解放双手,告别打包侠!
支持微信小程序/游戏代码上传和预览等功能。可以和Jenkins、GitHub Actions、Gitlab Ci结合使用,实现持续集成自动化发布。
特性
功能
- 上传代码,对应小程序开发者工具的上传
- 预览代码,对应小程序开发者工具的预览
- 构建 npm,对应小程序开发者工具的: 菜单-工具-构建 npm
- 上传云开发云函数代码,对应小程序开发者工具的上传云函数能力
- 代理,配置网络请求代理方式
- 支持获取最近上传版本的 sourceMap
安装
// 全局安装
$ npm install miniprogram-helper-cli -g
// 本地安装
$ npm install miniprogram-helper-cli --save-dev
使用
Commands:
upload [options] [workspace] 上传代码
preview [options] [workspace] 预览代码
| 键 | 默认值 | 说明 |
|---|---|---|
| option | 同下 | 项目配置 |
| workspace | 默认命令执行当前目录 | 项目目录 |
上传 Upload
// 本地方式
$ Usage: miniprogram-cli upload [options] [workspace]
$ Example: miniprogram-cli upload ./dist --ver "1.*.*" --desc "描述" --robot 5
// npx方式
$ Usage: npx miniprogram-helper-cli upload [options] [workspace]
$ Example: npx miniprogram-helper-cli upload ./dist --ver "1.*.*" --desc "描述" --robot 6
上传代码:
Options:
--env [value] 环境
--appid [value] 小程序appid
--type [value] 类型
--ver [value] 版本号
--desc [value] 简介
--pkp [value] 私钥文件所在路径
--robot [value] 指定CI机器人
| 键 | 类型 | 默认值 | 说明 | | ----- | ---- | ---------------------------- | ------------------------------------------------------------------------ | --- | ---- | | env | 属性 | dev | 小程序环境配置 dev | stg | prod | | appid | 属性 | project.config.json 中 appid | 小程序 appid | | type | 属性 | miniProgram | 项目的类型,有效值 miniProgram/miniProgramPlugin/miniGame/miniGamePlugin | | ver | 属性 | 0.0.0 | 项目版本号 | | pkp | 属性 | private.${项目 appId}.key | 私钥路径 | | robot | 属性 | 1 | 指定使用哪一个 ci 机器人,可选值:1 ~ 30 |
默认值显示规则优先级:
version版本号规则优先级:
- 获取传入的版本号参数:
--ver - 获取项目目录下的
package.json文件中 version 值
desc备注规则优先级:
- 获取传入的简介参数:
--desc - 组合:
env: ${env} ${desc || 获取项目(git)最新commit的message+ hash}显示 - 显示:
暂无简介
pkp私钥优先级:
- 读取传入的私钥路径参数:
pkp路径 - 读取项目下 private.${项目 appId}.key 文件
npx --no-install cross-env appId="wx733dda9d282a7da0" workspace="/e/web/mini-programs-resident" miniprogram-cli-init
初始默认文件
此处依赖 cross-env 插件
// 本地方式
$ Usage: cross-env [options] miniprogram-cli-init
$ Example: cross-env appId="123456" workspace="/e/web/wx-project" miniprogram-cli-init
// npx方式
$ Usage: npx cross-env [options] miniprogram-cli-init
$ Example: npx cross-env appId="123456" workspace="/e/web/wx-project" miniprogram-cli-init
Options:
appId = "" 小程序appId,必填项
workspace = "" 工作目录,默认当前目录