uni-mini-ci:让 uniapp 小程序构建后自动预览和上传

做 uniapp 小程序开发时,很多团队每天都在重复同一套流程:先执行 uni build,再打开对应平台开发者工具,手动导入 构建产物,点击预览、上传,最后再把二维码或上传结果发给测试、产品或运营。

uni-mini-ci 想解决的就是这件事:把构建后的 CI 操作自动化。

它提供 Vite 插件CLI 两种方式。推荐使用 Vite 插件,因为它可以直接接入 uniapp 构建流程,在 uni builduni dev 完成后自动执行打开工具、生成预览二维码、上传体验版等操作。

它能做什么

  • --open:打开开发者工具并打开当前小程序项目
  • --preview:上传开发版并生成预览二维码
  • --upload:上传体验版并生成预览二维码
  • --bump:发布前交互式更新版本号,并可创建 commit、tag、push

快速开始

安装 Vite 插件:

bash 复制代码
pnpm add -D vite-plugin-uni-mini-ci

再按目标平台安装对应 CI SDK,例如微信小程序:

bash 复制代码
pnpm add -D miniprogram-ci

vite.config.ts 中注册插件:

ts 复制代码
import { defineConfig } from "vite";
import uni from "@dcloudio/vite-plugin-uni";
import { uniMiniCI } from "vite-plugin-uni-mini-ci";

export default defineConfig({
  plugins: [
    uni(),
    /** uniapp 小程序 CI 插件 */
    uniMiniCI({
      /** 发布描述 */
      desc: ({ platform, version }) => `${platform} v${version} 自动构建`,
      "mp-weixin": {
        appid: "wx1234567890abcdef",
        privateKeyPath: "./key/private.key",
        robot: 1,
      },
    }),
  ],
});

构建后自动上传:

bash 复制代码
uni build -p mp-weixin -- --upload

构建后生成预览二维码:

bash 复制代码
uni build -p mp-weixin -- --preview

开发模式下自动打开开发者工具:

bash 复制代码
uni dev -p mp-weixin -- --open

注意这里的 -- 很重要。它表示后面的参数交给 uni-mini-ci 插件处理,而不是交给 uni 命令本身。

也可以使用 CLI

如果你不想接入 Vite 插件,也可以使用独立 CLI:

bash 复制代码
pnpm add -D uni-mini-ci-cli

创建 minici.config.ts 后运行:

bash 复制代码
minici --upload --platform mp-weixin
minici --preview --platform mp-weixin
minici --open --platform mp-weixin --dev

CLI 更适合已有构建流水线、脚本平台或需要手动控制执行时机的项目。

为什么值得用

uni-mini-ci 不替代 uniapp 的构建流程,而是补上"构建完成之后"的自动化能力。它适合这些场景:

  • 测试环境需要频繁生成预览二维码
  • 发版前需要固定执行版本更新和上传
  • 多平台小程序项目希望统一 CI 操作入口
  • 团队不想再依赖手动点击开发者工具完成上传
  • 希望把小程序构建、预览、上传沉淀成稳定 npm scripts

例如:

json 复制代码
{
  "scripts": {
    "dev:mp-weixin": "uni dev -p mp-weixin -- --open",
    "preview:mp-weixin": "uni build -p mp-weixin -- --preview",
    "upload:mp-weixin": "uni build -p mp-weixin -- --upload",
    "release:mp-weixin": "uni build -p mp-weixin -- --upload --bump"
  }
}

从这之后,预览和上传不再是"打开工具再点几下",而是团队里每个人都能复用的标准命令。

如果你的 uniapp 小程序已经进入多人协作、频繁测试或稳定发版阶段,uni-mini-ci 可以把这些重复操作变成一条清晰、 可追踪、可复用的 CI 流程。

相关推荐
云水一下5 小时前
TypeScript 从零基础到精通(五):高级类型与泛型
前端·javascript·typescript
counterxing5 小时前
vibe coding 之后,我更不想打字了
前端·agent·ai编程
copyer_xyf5 小时前
Python 模块与包的导入导出
前端·后端·python
研☆香5 小时前
es6新特性功能介绍(四)
前端·ecmascript·es6
微扬嘴角6 小时前
React篇1--JSX语法规则、组件、组件实例的3大特性
前端·react.js·前端框架
copyer_xyf6 小时前
Python venv 虚拟环境
前端·后端·python
无聊的老谢6 小时前
Vue 3 + TypeScript 构建大型电信运维平台的前端架构设计
前端·vue.js·typescript
xiaofeichaichai6 小时前
Map / Set / WeakMap / WeakSet
前端·javascript
李可以量化6 小时前
成交量的终极量化策略:价量共振指标完整实现(下篇)
前端·数据库·人工智能
copyer_xyf7 小时前
Python 如何同时做很多事:进程、线程、协程
前端·后端·python