Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ineo6/mp-ci
微信小程序、小游戏发布助手(CI)
https://github.com/ineo6/mp-ci
ci deploy jenkins minigame miniprogram wechat
Last synced: about 12 hours ago
JSON representation
微信小程序、小游戏发布助手(CI)
- Host: GitHub
- URL: https://github.com/ineo6/mp-ci
- Owner: ineo6
- License: mit
- Created: 2020-06-03T10:55:15.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-09-08T08:26:24.000Z (3 months ago)
- Last Synced: 2024-12-14T19:06:13.097Z (8 days ago)
- Topics: ci, deploy, jenkins, minigame, miniprogram, wechat
- Language: TypeScript
- Homepage:
- Size: 29.3 KB
- Stars: 95
- Watchers: 7
- Forks: 17
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 微信小程序(游戏)发布助手(mp-ci)
[![version][version-badge]][package]
[![downloads][downloads-badge]][npm-stat][![PRs Welcome][prs-badge]][prs]
[![Watch on GitHub][github-watch-badge]][github-watch]
[![Star on GitHub][github-star-badge]][github-star]微信小程序(游戏)发布助手, 支持预览和上传。可以和`Jenkins`、`GitHub Actions`结合使用,实现自动化发布。
基于官方`miniprogram-ci`封装。
## 功能特性
- 无需扫码登录
- 自动读取`appid`、`setting`
- 提交信息智能生成
- 美化执行结果显示## Installation
```shell
// 全局安装
npm install -g mp-ci// 本地安装
npm install --save-dev mp-ci
```> 使用前需要使用小程序管理员身份访问"[微信公众平台](https://mp.weixin.qq.com/)-开发-开发设置"后下载代码上传密钥,并配置 IP 白名单,才能进行上传、预览操作。
### 注意事项
- 代码上传密钥拥有预览、上传代码的权限
- 代码上传密钥不会明文存储在微信公众平台上,一旦遗失必须重置,请妥善保管
- 未配置IP白名单的,将无法使用 `mp-ci` 进行预览和上传
- 可选择不对IP进行限制,但务必明白风险## Usage
```sh
Usage: mp-ci [--options ...]Options:
-V, --version output the version number
-h, --help display help for commandCommands:
upload [options] [workspace] 上传代码
preview [options] [workspace] 预览代码
help [command] display help for command
````Commands`里面的`workspace`代表项目目录,默认使用命令执行目录,同时会检查`project.config.json`文件是否存在,并读取`appid`、`setting`设置。
命令返回的结果值如下:
- 0: 成功
- 1: 失败### upload
```sh
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
```### preview
```sh
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` & `desc`
* `version`版本号规则
* 尝试读取目录下的 `package.json` 文件中`version`
* 例如: `1.0.0`
* `desc`备注规则
* 读取命令行中传入的环境参数: `--env`
* 读取命令行中传入的备注参数: `--desc`
* 获取项目(`git`)最新`commit`的`message`
* 组合: `env: ${env} ${desc || message(hash)}`
* 例如: `env: dev 补充信息(e0c015a)`#### `pkp`
私钥文件位置。
小程序管理员身份访问"[微信公众平台](https://mp.weixin.qq.com/)-开发-开发设置"后下载密钥。
#### `qr`
可选值包括 `terminal`, `base64`, `image`。
#### `qrDest`
当`qr`设置为`base64`、`image`时,需要设置`qrDest`指定输出位置(相对于项项目目录)。
#### `searchQuery`
预览页面启动参数。
**这里的`&`字符在命令行中应写成转义字符`\&`**
## 相关资源
- [mp-ci-demo](https://github.com/ineo6/mp-ci-demo) :`Taro`和`GitHub Actions`持续集成示例
[version-badge]: https://img.shields.io/npm/v/mp-ci.svg?style=flat-square
[package]: https://www.npmjs.com/package/mp-ci
[downloads-badge]: https://img.shields.io/npm/dm/mp-ci.svg?style=flat-square
[npm-stat]: http://npm-stat.com/charts.html?package=mp-ci&from=2018-10-31
[license-badge]: https://img.shields.io/npm/l/mp-ci.svg?style=flat-square
[license]: https://github.com/ineo6/mp-ci/blob/master/LICENSE
[prs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square
[prs]: http://makeapullrequest.com
[coc-badge]: htts://img.shields.io/badge/code%20of-conduct-ff69b4.svg?style=flat-square
[github-watch-badge]: https://img.shields.io/github/watchers/ineo6/mp-ci.svg?style=social
[github-watch]: https://github.com/ineo6/mp-ci/watchers
[github-star-badge]: https://img.shields.io/github/stars/ineo6/mp-ci.svg?style=social
[github-star]: https://github.com/ineo6/mp-ci/stargazers