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 流程。

相关推荐
用户033307413953 小时前
TypeScript using 与 AsyncDisposableStack:在真实服务端代码中协调多资源清理
前端
web3d5203 小时前
Vue3 地图白屏排查清单:容器、弹窗与 ol-viewport 重复创建
vue.js·gis
daisychey3 小时前
用 Playwright 做多平台内容分发,我踩过的 8 个坑
前端
IT_陈寒4 小时前
为什么你应该学习JavaScript?
前端·人工智能·后端
大龄秃头程序员4 小时前
iOS冷启动监控Demo
前端
光影少年4 小时前
为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
前端·javascript·算法
掘金酱5 小时前
[稀土掘金 × 火山引擎] AI用量周榜冲刺赛|获奖名单公示
前端·人工智能·后端
泡泡oO5 小时前
“如果你还在用Superpowers,那我不要和你说话”
前端·后端·全栈
维克兜率天5 小时前
趋势过滤:避免被“假突破“反复打脸
前端
8年区块链老兵6 小时前
一篇文章教会你:用区块高度读懂比特币链上的每一笔交易
前端