ios - 如何从持续集成服务器将 IPA 推送到 App Center 分发
问题描述
如何从命令行将 iOS IPA 文件推送到 App Center Distribute?
我正在使用 CI(持续集成)服务器来构建我的应用程序,我尝试使用 App Center 测试门户提供的以下命令,但它不起作用并输出错误,如下所示:
appcenter distribute release -f ~/Desktop/MondayPundayApp.ipa -g Collaborators --app Punday/mondaypundayapp--ios
命令“appcenter 分发发布”需要登录用户。使用“appcenter login”命令登录
解决方案
从 CLI 推送到 App Center 测试
1. 手动检索 API 令牌
App Center CLI要求用户登录,我们可以通过提供登录令牌从构建服务器登录。
使用 App Center CLI,输入以下命令,替换[Name Of Token]
为您想要命名此令牌的任何内容
appcenter login
appcenter tokens create -d "[Name Of Token]"
它将提供如下响应:
ID:[唯一向导]
API 令牌:[唯一 API 令牌]
描述:[令牌名称]
创建于:[时间戳]
复制 API 令牌结果。我们将在 CI 脚本中使用它。
2. App Center为CI服务器分发脚本
在您的持续集成管道中,使用此 bash 脚本将 IPA 文件推送到 App Center 分发
bash 脚本执行以下操作:
- 找到 IPA 文件
- 安装 appcenter cli
- 使用 API Token 登录 App Center
- 将 IPA 推送到 App Center 分发
#!/usr/bin/env bash
IPAFile=`find . -name *.ipa | head -1`
npm install -g appcenter-cli@1.2.2
appcenter login --token [login token]
appcenter distribute release -f $IPAFile -g Collaborators --app Punday/mondaypundayapp--ios
推荐阅读
- javascript - Is there any way to determine if a time input is partial filled or empty?
- c# - 当前上下文中不存在名称“xxx”(您是否缺少对程序集的引用)
- php - 将用户登录限制在特定时间段
- node.js - 无法在 selenium webdriver node.js 中找到元素错误
- php - 在php中显示来自realpath的图像
- java - 为什么我会在java中打印“NaN”?
- php - 使用 php 和命令行/命令提示符/powershell 打开一个 excel
- bash - 有没有办法根据字段过滤文件中只出现一次的行?
- gradle - 通过在 kotlin-gradle 中使用子项目“未解决的参考:实现”
- c++ - 当显式转换顺利时,从 uint8_t 到 int 的隐式转换出错了