被要求猛出小程序,做了这个多平台多环境的部署替我承受压力

296 阅读2分钟

前言:因为vibecoding的能力,公司决定以新小程序形式疯狂做新产品,所有环节都ai了,只有部署没有,让我苦恼,所以做了这个项目,让ai替我承受全部压力

mpc-plus

docs

小程序多端发版时,常见做法是:每个平台一套脚本、一堆零散的 JSON/CLI 参数,本地能跑,CI 里又要再抄一遍;AppID、私钥、Token 写死在仓库里也不安心。

MPC Plus 想解决的是:把「读配置 → 解析多平台 / 多环境 → 执行上传」收成一条清晰链路,尤其适合 uni-app / Taro 等多端模版:构建产物分目录,上传逻辑却可以在 一个文件里统一描述。


和其它上传工具不太一样的点

常见做法MPC Plus
各平台各写脚本,参数散落在命令行一个 mpc.config.ts,结构、平台、环境一眼能看
敏感信息容易进仓库配置里用 process.env,凭据放 .env.* 或 CI 密钥,对隐私更友好
一次只传一个端platforms 下多平台 × 多 env,可筛选,也可 一次跑完全部
CI 和本地两套逻辑同一套配置:CI 只注入环境变量,本地用 .env.prod 等文件

核心思路:配置是 TypeScript,可读、可类型检查;运行时按 --env 加载对应 .env,再解析出每个平台、每个环境的上传目标。


已支持平台

  • 微信
  • 抖音
  • 支付宝
  • 小红书

配置示例

import { defineConfig } from "@mpc-plus/cli";

export default defineConfig({
  project: {
    root: "./dist/build/mp-weixin",
  },

  release: {
    version: "1.0.0",
    description: "Release v1.0.0",
  },

  platforms: {
    wechat: [
      {
        env: "dev",
        appid: process.env.WX_APPID ?? "",
        privateKeyPath: process.env.WECHAT_PRIVATE_KEY_PATH ?? "./private.key",
      },
      {
        env: "prod",
        appid: process.env.WX_APPID ?? "",
        privateKeyPath: process.env.WECHAT_PRIVATE_KEY_PATH ?? "./private.key",
      },
    ],
    // douyin / alipay / xhs … 同一文件里继续加
  },
});

本地 .env.prod 或 CI 里配置 WX_APPID、WECHAT_PRIVATE_KEY_PATH 等即可,不必把密钥写进配置文件本身。


使用方式

npm install -D @mpc-plus/cli

# 指定平台 + 环境
npm exec -- mpc upload --platform wechat --env prod

# 省略 --platform / --env:按配置依次上传所有平台与环境
npm exec -- mpc upload

模版项目里常见流程:build 各端产物 → 一条 mpc upload,比维护 N 份平台脚本省心不少。


开源项目,欢迎试用、提 Issue / PR。如果你也在做多端小程序模版或 CI 发版,欢迎交流。