Xcode Server Bot 集成在 xcrun xcodebuild -exportArchive "Exporting installable product" 上停止
Posted
技术标签:
【中文标题】Xcode Server Bot 集成在 xcrun xcodebuild -exportArchive "Exporting installable product" 上停止【英文标题】:Xcode Server Bot integration stalls on xcrun xcodebuild -exportArchive "Exporting installable product" 【发布时间】:2016-09-07 08:32:12 【问题描述】:Xcode Server Bot 集成在第六阶段停止:
“导出可安装产品”
原始构建日志显示为最终条目:
$ /usr/bin/xcrun xcodebuild -exportArchive -archivePath /Library/Developer/XcodeServer/Integrations/Integration-7f80e03e9471a040c753957c2600b0a6/BetUP.xcarchive -exportPath /Library/Developer/XcodeServer/Integrations/Integration-7f80e03e9471a040c753957c2600b0a6/ExportedProduct -exportOptionsPlist /Library/Developer/XcodeServer/Integrations/Integration-7f80e03e9471a040c753957c2600b0a6/ExportOptions.plist -IDEPostProgressNotifications=YES -DVTAllowServerCertificates=YES -DVTSigningCertificateSourceLogLevel=3 -DVTSigningCertificateManagerLogLevel=3 -DTDKProvisioningProfileExtraSearchPaths=/Library/Developer/XcodeServer/ProvisioningProfiles -configuration Debug
2016-09-05 13:50:33.659 xcodebuild[61877:3819468] [MT] IDEDistribution: -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path '/var/folders/x2/t8b7x9gs2x32b686xfzq77lw000087/T/MyApp_2016-09-05_13-50-33.658.xcdistributionlogs'.
2016-09-05 13:50:33.704 xcodebuild[61877:3819468] [MT] DeveloperPortal: Using pre-existing current store at URL (file:///var/_xcsbuildd/Library/Developer/Xcode/DeveloperPortal%207.3.1.db).
2016-09-05 13:50:33.712 xcodebuild[61877:3819482] DVTSigningCertificateSource: Searching for signing identities in default keychain search list
2016-09-05 13:50:33.738 xcodebuild[61877:3819482] DVTSigningCertificateSource: Searching for signing identities in default keychain search list
2016-09-05 13:50:33.757 xcodebuild[61877:3819482] DVTSigningCertificateManager: __58-[DVTSigningCertificateManager forceFullSyncWithCallback:]_block_invoke (0x7fbc650a88a0): Signing certificates = (
最终集成达到超时限制并失败并出现错误:
断言:正在运行的任务已终止,因为它没有产生任何活动 超过 1200 秒(使用 sudo xcrun xcscontrol --configure-integration-timeout 增加这个超时时间)
将超时时间增加到 1200 秒(20 分钟)以上是没有意义的,因为它永远不会完成。早期阶段需要 3 分钟,因此 17 分钟足够导出。
诸如此类的其他帖子没有提供解决方案:
Xcode Server Bot integration fails to export archive with Assertion fail: exportArchive: ipatool failed with an exception
Xcode Server Bot integration fails to export archive: Error Domain=IDEDistributionErrorDomain Code=1 "The operation couldn’t be completed."
复制私钥 - 通过拖动 - 从登录用户到系统钥匙串也没有解决:
Xcode Bots: Common Problems And Workarounds
抓着稻草,我已经尝试了几乎所有其他方法,包括教程Xcode Server Hacks: 2. Taking control with xcscontrol 中描述的--sync-portal
。
更不用说明显的重新启动 - 不是重置! - 使用这个命令:
sudo xcrun xcscontrol --restart
已经尝试了我能想到的几乎所有方法,这个问题如何解决?
【问题讨论】:
【参考方案1】:最后,唯一需要尝试的是重置 Xcode 服务器:
正如Xcode Server Hacks: 1. Under the Hood of Xcode Server 故障排除中强调的那样:
“当你 hack 太多而 Xcode Server 发疯时,你需要一种方法来 重置其所有状态并重新开始。当我最初 开发 Buildasaur 时,我会每天重置 Xcode Server 几次。 有一个命令可以停止所有正在运行的 Xcode 守护进程 服务器并删除 /Library/Developer/XcodeServer 的所有内容。 请注意,您的所有机器人和集成数据都将被删除为 好吧。 在调试过程中它是必不可少的工具,但要小心 生产不会意外删除您的所有机器人和集成 资产。”
该命令吹走所有机器人和配置:
sudo xcrun xcscontrol --reset.
完成后,有必要重新开始,配置服务器应用程序的 Xcode 服务以添加必要的开发团队。
这就是事情变得有趣的地方。
已输入 Apple ID,并选择了相关团队;显示错误:
“您必须是团队代理或管理员才能将此服务器添加到 开发团队”
使用 Apple 的开发者门户将 Apple ID 设置为团队管理员解决了该问题。
在测试 Bot 中重新添加后,它起作用了!
在经历了所有这些痛苦之后,我的建议如下:
-- 从 Server 的 Xcode 服务中删除团队。然后重新添加。这将暴露管理员权限的任何问题。
或
-- 如果失败,请执行重置并重新配置服务器的 Xcode 服务。然后再次重新添加机器人。
上面的第二个选项很痛苦,但它比花费数小时甚至数天来解决问题要快得多。我能够在一个多小时内通过复制重置、重新配置和重新添加大约十个机器人。
【讨论】:
以上是关于Xcode Server Bot 集成在 xcrun xcodebuild -exportArchive "Exporting installable product" 上停止的主要内容,如果未能解决你的问题,请参考以下文章
您如何配置 Xcode Server (Bot) 以仅保留 n 个最近的集成?
Xcode Server Bot 集成在 xcrun xcodebuild -exportArchive "Exporting installable product" 上停止
Xcode Server Bot 集成无法导出存档:错误 Domain=IDEDistributionErrorDomain Code=1“无法完成操作。”
Xcode Server Bot 集成无法使用断言导出存档失败:exportArchive: ipatool failed with an exception