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

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

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

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

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

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

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

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

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

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

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

说白了:

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

3 分钟开跑

第 1 步:安装 app-ship

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

bash 复制代码
npm install -g @huoye/app-ship
app-ship platforms
app-ship init

第 2 步:生成 app-ship.yaml

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

yaml 复制代码
publish:
  pgyer:
    enable: true
    apiKey: '${PGYER_API_KEY}'

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

别把明文密钥写死。

bash 复制代码
PGYER_API_KEY=your-api-key
HUAWEI_CLIENT_ID=your-client-id
HUAWEI_CLIENT_SECRET=your-client-secret
HUAWEI_APP_ID=your-app-id

然后在终端里加载它:

bash 复制代码
set -a
source ./.env.local
set +a

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

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

第 4 步:本地先跑通一次

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

关键不是命令短。

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

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

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

yaml 复制代码
- 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 自动发版,还是按平台拆分触发?

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

相关推荐
阿里云云原生3 小时前
云栖实录丨面向 AgenticOps 的开源建设:采集标准化、统一语义建模与能力评测
云原生·开源
鶴哥只手遮天3 小时前
Spring AI 2.0.1 深度解析-第 22 章 Spring Boot 集成:自动配置、Properties 与条件装配
java·人工智能·开源
狗凯之家源码网4 小时前
陪玩接单财务系统源码全开源版本评测大纲
开源
AI砖家5 小时前
DeepSeek V4.1 Flash vs. GPT-5.6 Sol:前沿闭源与高效开源,路线已经分叉
gpt·开源·deepseek
miofly6 小时前
NVIDIA 将 Run:ai 平台全面开源,纳入 DSX AI Factory 体系
开源·github
万物智能信息科技6 小时前
鸿蒙RS232驱动开发—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
驱动开发·华为·开源·harmonyos·鸿蒙
zttbee6 小时前
npm install卡顿
前端·npm·node.js
空堂与归6 小时前
百度开源 LoopVL:1B 循环视觉模型省 260 倍数据
人工智能·百度·ai·开源
miofly7 小时前
GitHub 今日推荐|MOSS-Image:靠坐标框精确控制文字排版的图像生成模型
python·开源·github
SL_staff7 小时前
周报越厚问题越拖?用结构化执行机制让周报回归决策价值
java·spring cloud·开源