看懂 VSCode 发布中心后,下一步该把 App 发版交给 CLI 了

63 阅读4分钟

上一篇我们把 VSCode 发布中心的几个关键区域拆开了。

这一篇解决的是另一种痛苦:

同一套 App 发版动作,你为什么还要一遍遍亲手点?

第一次理解流程可以靠界面。

但只要开始重复,你就会发现:

  • 每次都点同样的按钮
  • 每次都填同样的更新说明
  • 每次都盯同样的进度
  • 每次都担心是不是漏了平台

这时候真正该接手的,不是鼠标。

而是一条可以反复执行的命令。

VSCode 适合看懂流程,CLI 适合重复执行

当你开始经常发版、团队协作、想接入 CI/CD,命令行会更顺。

说白了:

界面适合理解流程,命令适合复用流程。

3 分钟开跑

第 1 步:安装 app-ship

app-ship 是独立上传引擎,不依赖 Flutter,也不依赖 VSCode。

npm install -g @huoye/app-ship
app-ship platforms
app-ship init

第 2 步:生成 app-ship.yaml

配置文件生成后,把平台配置收回来,别再散在文档和聊天记录里。

publish:
  pgyer:
    enable: true
    apiKey: '${PGYER_API_KEY}'

第 3 步:密钥放进项目级环境文件

别把明文密钥写死。

PGYER_API_KEY=your-api-key
HUAWEI_CLIENT_ID=your-client-id
HUAWEI_CLIENT_SECRET=your-client-secret
HUAWEI_APP_ID=your-app-id

然后在终端里加载它:

set -a
source ./.env.local
set +a

如果你要给这一步配图,最稳的做法是直接做成左右分屏:

  1. 左边打开 app-ship.yaml,把 ${VAR_NAME} 引用露出来
  2. 右边打开终端,展示 source ./.env.localset -a 这类加载命令
  3. 画面底部加一句短标语:密钥不要进仓库
  4. 统一用亮色主题,字体放大到手机上也看得清

第 4 步:本地先跑通一次

app-ship upload -c app-ship.yaml -f ./app-release.apk --platform pgyer,huawei --changelog "修复已知问题"

关键不是命令短。

而是以后每次发版,不用再把同一套动作重新点一遍。

第 5 步:把同一条命令接进 CI/CD

本地跑通后,几乎可以原样搬进流水线:

- run: npm install -g @huoye/app-ship
- run: app-ship upload -c app-ship.yaml -f ./app-release.apk --platform pgyer,huawei --changelog "CI Build"

常用命令速查

场景命令
查看平台app-ship platforms
按配置上传app-ship upload -c app-ship.yaml -f ./app-release.apk
指定平台app-ship upload -c app-ship.yaml -f ./app-release.apk --platform pgyer,huawei
调试日志app-ship upload -c app-ship.yaml -f ./app-release.apk --platform pgyer --verbose

CI/CD 先别一口吃成胖子:本地单平台、本地多平台、CI 单平台、CI 多平台,一步步来。

怎么算跑通

满足这几条,就算命令链路跑通了:

  • 本机能执行 app-ship upload
  • 至少一个目标平台返回可用结果
  • app-ship.yaml 已改成环境变量引用
  • 同一条命令能搬进 CI/CD

CLI 真正值钱的地方,不是更极客。

而是把一次能跑通的事,变成每次都能复用的事。

如果你也做 App 发版,你更想先把哪一步从“手点”改成“命令”?

是本地上传、打 tag 自动发版,还是按平台拆分触发?

留言告诉我,我后面把最痛的那一步继续拆开写。