分类
Mac OS

macOS app 自动化上传发布到 AppCenter

之前我曾经写过macOS app 实现自动化 notarize 脚本,由于我的输入法使用微软的 HockeyApp 进行崩溃统计,所以我还需要把 app 上传到这里进行一次“发布”,好让 HockeyApp 能够收到对应版本的错误统计。

如今,微软的 HockeyApp 已经更新成了 AppCenter,自动化命令也十分友好,其实这个操作也可以加入到你的自动化脚本里边,一步到位。

/appcenter-cli

我们直接下载官方的命令行工具即可: sudo npm install -g appcenter-cli ,安装好后,使用命令 appcenter setup-autocomplete 来添加命令行自动补全功能,这样会方便很多。

然后使用命令 appcenter login ,这样生成的 Token 会自动保存,不需要每次上传都登录。

期间 appcenter 命令会问你一个 telemetry 什么的东西,我没搞懂是啥……0.0 反正直接启用了。

获取 App 列表

首先,你的 AppCenter 应该已经新建了这个 App 对吧?总之,如果我们要用命令发布更新,那就必须知道这个 App 对应的名称,它的格式是这样的: owner/app ,但如果你直接按照 AppCenter 里显示的去写,那么很有可能你会遇到如下错误:

使用 --debug 参数后得到详细错误:

显然,我们的操作被拒绝了,原因就是——其实你的用户名称和 App 名称可能并不是网站上显示的那个。

使用命令 appcenter apps list 查看当前拥有的 App 列表,你就发现你的 App 很有可能叫这个名字:

……就是这么的令人绝望。

还好,我们可以用命令 appcenter apps show name/123 来查看对应 App 的详情:

在高亮的第三行你可以看到这个 App 在网站的名字,这样就能将这里的名字和你网站上一直以来自己设定的名字对应起来。

(没错,这个傻屌随机名不能改。)

上传更新和符号链接

找到了对应 App 的名字,接下来就是容易的部分了:

与在网页上上传不同的是,这里 AppCenter 不能再帮你自动推断 App 的 Build 版本号了,所以你还是需要再输入一次 -b 1985 ,另外 --silent 要求这个更新不通知用户, -g Collaborators 指定要发布到哪个测试组。

上传发布成功后结果类似这样:

接下来是上传编译链接文件以供崩溃统计之用:

直接指定包含链接文件的目录即可,appcenter 会自动遍历目录寻找所有的链接文件,然后只会上传需要的那一份,上传成功后结果类似这样:

这样,你编译好的更新版本就能自动发布到 AppCenter 了呢。

参考文献

 

本文由 落格博客 原创撰写:落格博客 » macOS app 自动化上传发布到 AppCenter

转载请保留出处和原文链接:https://www.logcg.com/archives/3290.html

由落格博客

如非声明,本人所著文章均为原创手打,转载请注明本页面链接和我的名字。

发表评论

电子邮件地址不会被公开。 必填项已用*标注