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

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

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

它提供 Vite 插件 和 CLI 两种方式。推荐使用 Vite 插件,因为它可以直接接入 uniapp 构建流程,在 uni build 或 uni 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 流程。

相关推荐
@大迁世界3 小时前
Firefox 本地模式:localhost 再见了 ?
前端·架构
米米商聊5 小时前
同名附件为什么被 Map 覆盖?重复键与一对多索引
前端·javascript
echome8886 小时前
Python 异常处理:try、else、finally 的正确搭配
开发语言·前端·python·异常处理·编程技巧
时间的情敌6 小时前
OpenLayers 实战|Vue3 + OpenLayers 完整工程案例(加载天地图、要素、弹窗、绘制、WFS)
前端·openlayers
陈随易7 小时前
下载神器!Motrix 停更三年后重写回归
前端·后端·程序员
前端的日常7 小时前
一个人+AI做情侣食谱小程序,0 费用的服务器
前端·后端
计算机魔术师8 小时前
谷歌搜索广告踩刹车,AI广告成为救命稻草
前端
总要学点什么8 小时前
第81篇:数据可视化-PM2.5分布——让圆点的胖瘦替每座城市报出浓度
前端·信息可视化·echarts·cesium·空间分析
IT_陈寒8 小时前
Vue的v-for里用了个临时变量,页面直接挂了
前端·人工智能·后端
hunter_0768 小时前
一次 iOS 真机签名 409 的完整排查:证书、设备、描述文件为什么总是"对不上"
前端