小程序自动化上传工具(微信、qq、百度、快手、抖音、支付宝、uc、夸克)、生成预览二维码、持续部署集成
// 查询工具是否安装成功
multi-mini-ci --version
// 初始化配置文件
multi-mini-ci init
.
├── weixin
| ├── components
| ├── pages
| └── utils
├── qq
| ├── components
| ├── pages
| └── utils
├── dist
| ├── weixin_appid.png
| └── qq_appid.png
├── key
| ├── private.wx********.key
| └── private.ks********.key
|
├── ci.config.js
|
└── README.md
属性 |
类型 |
必填 |
说明 |
appName |
string |
是 |
小程序项目名称 |
appId |
string |
是 |
小程序项目 appId |
keyPath |
string |
是 |
当前项目 key 文件相对路径 key 获取 |
entry |
string |
是 |
当前项目相对路径入口 |
platform |
string |
是 |
当前项目平台 |
projectId |
string |
是 |
当前项目唯一标识,自定义,例如小程序 1(projectId: 1)、小程序 2(projectId: 2) |
// ci.config.js
{
appName: "微信小程序",
appId: "wx**********",
keyPath: "/key/private.wx********.key",
entry: "/weixin",
platform: "weixin",
projectId: 1
}
属性 |
类型 |
必填 |
说明 |
appName |
string |
是 |
小程序项目名称 |
appId |
string |
是 |
小程序项目 appId |
appToken |
string |
是 |
当前项目 token,用于小程序构建过程中的身份验证 (打开管理端 -> 登录 -> 进入设置页面 -> 进入开发设置页 -> 点击生成 appToken -> 管理员扫码 -> 得到 appToken) |
entry |
string |
是 |
当前项目相对路径入口 |
platform |
string |
是 |
当前项目平台 |
experience |
Boolean |
否 |
是否设置为体验版本,默认 true |
firstPage |
string |
否 |
首页路径 |
projectId |
string |
是 |
当前项目唯一标识,自定义,例如小程序 1(projectId: 1)、小程序 2(projectId: 2) |
// ci.config.js
{
appName: "QQ小程序",
appId: "********",
entry: "/qq",
platform: "qq",
appToken: "******",
projectId: 2
}
属性 |
类型 |
必填 |
说明 |
appName |
string |
是 |
小程序项目名称 |
appId |
string |
是 |
小程序项目 appId |
appToken |
string |
是 |
当前项目 token,用于小程序发布权限的登录密钥(在百度智能小程序开发者工具(版本高于 2.4.1)中登录后,可通过“菜单 -> 关于 -> 复制登录密钥”获取。 |
entry |
string |
是 |
当前项目相对路径入口 |
platform |
string |
是 |
当前项目平台 |
minSwanVersion |
string |
否 |
构建时最低基础库版本号,默认 3.310.35 |
projectId |
string |
是 |
当前项目唯一标识,自定义,例如小程序 1(projectId: 1)、小程序 2(projectId: 2) |
// ci.config.js
{
appName: "百度小程序",
appId: "********",
entry: "/baidu",
platform: "baidu",
appToken: "****",
projectId: 3
}
属性 |
类型 |
必填 |
说明 |
appName |
string |
是 |
小程序项目名称 |
appId |
string |
是 |
小程序项目 appId |
keyPath |
string |
是 |
当前项目 key 文件相对路径 key 获取 -> 开发 -> 开发者设置 -> 下载代码上传密钥 |
entry |
string |
是 |
当前项目相对路径入口 |
platform |
string |
是 |
当前项目平台 |
projectId |
string |
是 |
当前项目唯一标识,自定义,例如小程序 1(projectId: 1)、小程序 2(projectId: 2) |
// ci.config.js
{
appName: "快手小程序",
appId: "ks*********",
keyPath: "/key/private.ks********.key",
entry: "/kuaishou",
platform: "kuaishou",
projectId: 4
}
属性 |
类型 |
必填 |
说明 |
appName |
string |
是 |
小程序项目名称 |
appId |
string |
是 |
小程序项目 appId |
keyPath |
string |
是 |
当前项目 key 文件相对路径 key 获取 |
appToken |
string |
是 |
当前项目 token,用于小程序发布权限的登录密钥 key 获取 |
entry |
string |
是 |
当前项目相对路径入口 |
platform |
string |
是 |
当前项目平台 (支付宝、夸克、UC 等) |
source |
string |
是 |
来源平台,支付宝系小程序,该值固定为 alipay |
projectId |
string |
是 |
当前项目唯一标识,自定义,例如小程序 1(projectId: 1)、小程序 2(projectId: 2) |
// 进入项目
cd alipay
// 生成配置文件
minidev login
MacOS/Linux: ~/.minidev/config.json
Windows C:\User\你的用户名\.minidev\config.json
{
"alipay": {
"authentication": {
"privateKey": "*********",
"toolId": "********"
}
}
}
toolId属性值对应配置文件中appToken;
key文件夹下新建private.alipay**********.key文件, privateKey属性值填入新建文件中即可
// ci.config.js
{
appName: "支付宝小程序",
appId: "**********",
keyPath: "/key/private.alipay************.key",
appToken: "************",
source: "alipay",
entry: "/alipay",
platform: "alipay",
projectId: 5
}
属性 |
类型 |
必填 |
说明 |
appName |
string |
是 |
小程序项目名称 |
appId |
string |
是 |
小程序项目 appId |
appToken |
string |
是 |
当前项目管理端账号密码 base64 加密后字符串: base64.encode({email: **, password: 123456}) |
entry |
string |
是 |
当前项目相对路径入口 |
platform |
string |
是 |
当前项目平台 |
projectId |
string |
是 |
当前项目唯一标识,自定义,例如小程序 1(projectId: 1)、小程序 2(projectId: 2) |
// ci.config.js
{
appName: "抖音小程序",
appId: "tt************",
appToken: "*************",
keyPath: "/key",
entry: "/douyin",
platform: "douyin",
projectId: 6
}
multi-mini-ci build [options]
-
--project
, -p
(类型: number | string, 默认值: 1):
指定项目唯一标识。与配置文件 ci.config.js 中 projectId 映射
-
--ver
, -v
(类型: string, 默认值: 1.0.0):
指定上传版本号。如果未指定,将使用默认版本。
-
--environment
, -e
(类型: string, 默认值: stag):
指定项目环境。如果未指定,将使用默认环境。
multi-mini-ci build --project wx --ver 1.0.0 --environment stag
或
multi-mini-ci build -p wx -v 1.0.0 -e stag
- 构建产生的体验二维码输出在根目录 ci_dist 文件夹中
- 二维码图片格式 png,名称为项目唯一标识 projectId
- multi-mini-ci build 不携带任何参数,将执行本地选择构建模式,携带参数便于持续部署
- 抖音平台和阿里平台,上传版本号存在限制,构建时,若传入版本号需符合平台规范,若不传入默认使用平台版本号
// ci.config.js
module.exports = {
notify: {
enable: true, // 是否开启消息通知
dingtalkToken: "", // 钉钉token (获取方式可参考下方注意事项)
wecomToken: "", // 企业微信token (获取方式可参考下方注意事项)
},
};
-
--project
, -p
(类型: number | string, 默认值: 1):
指定项目唯一标识。与配置文件 ci.config.js 中 projectId 映射
-
--ver
, -v
(类型: string, 默认值: 1.0.0):
消息通知列表中版本号。如果未指定,将使用默认版本。
-
--environment
, -e
(类型: string, 默认值: stag):
消息通知列表中项目环境。如果未指定,将使用默认环境。
-
--operator
, -o
(类型: string):
操作人名称。如果未指定,默认机器人。
-
--qrcode
, -q
(类型: string):
二维码图片链接。如果未指定,消息通知列表将不显示二维码。
-
--file
, -f
(类型: string):
文件链接。如果未指定,消息通知列表将不显示。
mini-ci notify --project wx --ver 1.0.0 --environment stag qrcode https://www.xxx.com/qrcode.png
或
mini-ci notify -p wx -v 1.0.0 -e stag -q https://www.xxx.com/qrcode.png
- 钉钉 token 获取方式 token 获取,参考文档中步骤一,获取到 webhook 地址后,将 webhook 地址 access_token 字段对应部分填入配置文件即可。
- 企业微信 token 获取方式 token 获取,在机器人信息页获取到 Webhook 地址后,将 webhook 地址 key 字段对应部分填入配置文件即可。
- 企业微信平台,消息通知中不支持直接显示图片信息,因此二维码将以链接形式展示
MIT