微信小程序(游戏)发布助手, 支持预览和上传。可以和Jenkins
、GitHub Actions
结合使用,实现自动化发布。
基于官方miniprogram-ci
封装。
- 无需扫码登录
- 自动读取
appid
、setting
- 提交信息智能生成
- 美化执行结果显示
// 全局安装
npm install -g mp-ci
// 本地安装
npm install --save-dev mp-ci
使用前需要使用小程序管理员身份访问"微信公众平台-开发-开发设置"后下载代码上传密钥,并配置 IP 白名单,才能进行上传、预览操作。
- 代码上传密钥拥有预览、上传代码的权限
- 代码上传密钥不会明文存储在微信公众平台上,一旦遗失必须重置,请妥善保管
- 未配置IP白名单的,将无法使用
mp-ci
进行预览和上传 - 可选择不对IP进行限制,但务必明白风险
Usage: mp-ci [--options ...]
Options:
-V, --version output the version number
-h, --help display help for command
Commands:
upload [options] [workspace] 上传代码
preview [options] [workspace] 预览代码
help [command] display help for command
Commands
里面的workspace
代表项目目录,默认使用命令执行目录,同时会检查project.config.json
文件是否存在,并读取appid
、setting
设置。
命令返回的结果值如下:
- 0: 成功
- 1: 失败
Usage: mp-ci upload [options] [workspace]
上传代码
Options:
--env [value] 环境 (default: "dev")
--type [value] 项目类型 (default: "miniProgram")
--ver [value] 发布版本号
--desc [value] 发布简介
--pkp [value] 私钥文件所在路径
--proxy [value] 代理url
--robot [value] 指定CI机器人,1 ~ 30 (default: "1")
-h, --help display help for command
Usage: mp-ci preview [options] [workspace]
预览代码
Options:
--env [value] 环境 (default: "dev")
--type [value] 项目类型 (default: "miniProgram")
--ver [value] 发布版本号
--desc [value] 发布简介
--pkp [value] 私钥文件所在路径
--qr [value] 二维码文件的格式: terminal|base64|image (default: "image")
--qrDest [value] 二维码文件保存路径 (default: "preview.png")
--pagePath [value] 预览页面路径
--searchQuery [value] 预览页面路径启动参数,这里的&字符在命令行中应写成转义字符\&
--proxy [value] 代理url
--robot [value] 指定CI机器人,1 ~ 30 (default: "1")
-h, --help display help for command
说明:
version
版本号规则- 尝试读取目录下的
package.json
文件中version
- 例如:
1.0.0
- 尝试读取目录下的
desc
备注规则- 读取命令行中传入的环境参数:
--env
- 读取命令行中传入的备注参数:
--desc
- 获取项目(
git
)最新commit
的message
- 组合:
env: ${env} ${desc || message(hash)}
- 例如:
env: dev 补充信息(e0c015a)
- 读取命令行中传入的环境参数:
私钥文件位置。
小程序管理员身份访问"微信公众平台-开发-开发设置"后下载密钥。
可选值包括 terminal
, base64
, image
。
当qr
设置为base64
、image
时,需要设置qrDest
指定输出位置(相对于项项目目录)。
预览页面启动参数。
这里的&
字符在命令行中应写成转义字符\&
- mp-ci-demo :
Taro
和GitHub Actions
持续集成示例