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

相关推荐
BigTopOne5 小时前
【WebRtc】DTLS-SRTP 加密完整流程详解
前端
陈随易5 小时前
pm2 替代品,nodejs&bun 线上部署必备工具
前端·后端·程序员
单线程_015 小时前
从案例分析 Vue3 Tokenizer 源码一
前端·javascript·vue.js
BigTopOne5 小时前
【WebRtc】-ICE Candidate 与 STUN/TURN 原理详解
前端
l1258655 小时前
# LangGraph Memory机制深度解析:短期记忆与长期记忆的工程实践
前端·人工智能·python·langchain·bootstrap
码视野5 小时前
基于 Spring Boot + Vue3 的【大学英语四六级 (CET-4/6) 作文智能评分与句式润色系统】设计与实现(含PRD/三端高保真源码/大屏)
java·前端·人工智能·spring boot·后端·vue3
大模型码小白5 小时前
AI 对话流性能调优:万级消息的虚拟滚动落地
java·大数据·前端·javascript·人工智能·算法·机器学习
xm_xm_xm_16 小时前
react17版本以前类组件常用操作
前端·javascript·react.js
ly76897 小时前
Web 性能优化实战:从 Core Web Vitals 到工程化性能治理
前端·性能优化
冬奇Lab8 小时前
一天一个开源项目(第200篇):next-forge - 生产级 Next.js SaaS 启动模板
前端·前端框架·开源