文档/开始使用

WOT CI DOCUMENTATION

快速开始

安装、准备配置、构建产物,完成第一次微信小程序上传。

#环境要求

  • Node.js >= 20
  • 包本身只提供 ESM 入口;CommonJS 脚本可通过 await import('@wot-ui/ci') 调用

#安装

sh
# 项目内安装(推荐)
pnpm add -D @wot-ui/ci

# 或
# npm i -D @wot-ui/ci
# yarn add -D @wot-ui/ci

也可以全局安装后直接使用 wotci 命令:

sh
pnpm add -g @wot-ui/ci

不安装也可以在项目里临时运行:

sh
npx wotci -p weixin

交给 AI Agent 一键接入:把下面这行原样发给你项目里的 Agent,它会装依赖、生成配置,并按你项目现有的发布方式接好上传(GitHub Actions、GitLab CI、Jenkins、自建流水线或纯 npm scripts 都适用):

text
给这个项目接入 @wot-ui/ci 小程序 CI:用项目现有包管理器把 @wot-ui/ci 装成 devDependency,执行 wotci init 生成 wotci.config.ts,再把上传接到项目现有的发布方式里——已有 CI 就在它原有的流水线文件里加一个上传步骤,没有就用 npm scripts;appid 与私钥路径一律用环境变量或 CI secrets 注入,不要写进仓库,最后跑 wotci doctor 自检。文档见 https://github.com/wot-ui/ci

#快速开始

下面以微信小程序为例,三步完成第一次 CI 上传。

#准备配置文件

在项目根目录创建 wotci.config.ts:

ts
import { defineConfig } from '@wot-ui/ci'

export default defineConfig({
  version: '1.0.0',
  desc: 'CI 上传',
  weixin: {
    appid: process.env.WEIXIN_APPID!,
    privateKeyPath: process.env.WEIXIN_PRIVATE_KEY_PATH ?? 'keys/weixin.private.key',
    projectPath: 'dist/build/mp-weixin',
    robot: 1,
  },
})

私钥是微信公众平台「开发管理 → 开发设置 → 小程序代码上传」生成的密钥文件。上传前需要把 CI 机器的出口 IP 加入白名单(或在公众平台关闭 IP 白名单)。

支付宝、钉钉的配置见 配置。

#构建并上传

sh
# 先构建小程序产物
pnpm build

# 上传(wotci 的默认命令就是 upload)
pnpm exec wotci -p weixin

通常会把构建和上传组合成 npm scripts:

json
{
  "scripts": {
    "upload:mp-weixin": "uni build -p mp-weixin && wotci -p weixin",
    "upload:mp-alipay": "uni build -p mp-alipay && wotci -p alipay",
    "upload:mp-dingtalk": "uni build -p mp-dingtalk && wotci -p dingtalk"
  }
}

上传成功退出码为 0,失败为 1,可以直接作为 CI 步骤使用。

#上传前先体检

sh
pnpm exec wotci doctor

doctor 会检查 Node 版本、配置来源、产物目录、project.config.json / app.json、私钥权限与 PEM 格式。加上 --network 还会调用线上接口,提前暴露 appid、私钥或 IP 白名单问题:

sh
pnpm exec wotci doctor --network

注意:miniprogram-ci 的 getLatestVersion 只支持插件类型项目(miniProgramPlugin / miniGamePlugin)。普通小程序会跳过微信网络校验并给出 warn,不会阻塞上传。

在 GitHub 上编辑此页来源:README.md
搜索文档
输入关键词,查找命令、配置与平台说明。