发布与维护
先填好应用 ID 和上传令牌,下面的「发布包」和「应用信息」都用这一组凭据。
令牌由管理员用 updatesite token <应用ID> 生成,见
上传发布。
发布包
把符合发布规范的文件打成压缩包上传,
站点会自动解包并归档到 apps/<应用ID>/<版本号>/。
支持 .zip、.tar、.tar.gz、.tar.bz2。
版本号怎么确定
按以下顺序,前一步成功就不看后面的:
- 表单里的版本号,或接口的
?version=参数 - 压缩包里唯一的一级目录,且目录名是合法版本号
- 压缩包根目录下
release.json的version字段
同名版本已存在时会整体替换。压缩包里的 release.json、
CHANGELOG.md、SHA256SUMS 会按规范被识别,
平台与架构则从安装包文件名推断。
应用信息
应用级元数据,写在 apps/<应用ID>/app.json,对所有版本生效。
填写应用 ID 后会自动载入现有内容,也可以点「读取当前信息」手动载入;
应用尚不存在时会新建。
保存会覆盖整个 app.json:表单里留空的字段会被清空(图标除外,
它由下面的图标上传维护)。
命令行
export SITE=http://<站点地址>
export APP=<应用ID>
export TOKEN=<上传令牌>
# 发布一个版本
curl -fS -X POST -H "Authorization: Bearer $TOKEN" \
-F "file=@release.zip" -F "version=1.2.0" \
"$SITE/api/v1/apps/$APP/upload"
# 读取应用信息
curl -fS -H "Authorization: Bearer $TOKEN" "$SITE/api/v1/apps/$APP/metadata"
# 修改应用信息
curl -fS -X PUT -H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"我的应用","vendor":"MTI"}' \
"$SITE/api/v1/apps/$APP/metadata"
# 换图标
curl -fS -X PUT -H "Authorization: Bearer $TOKEN" \
--data-binary @icon.png \
"$SITE/api/v1/apps/$APP/icon"