Xcode Server Bot集成停止在xcrun上xcodebuild -exportArchive“导出可安装产品”

时间:2016-09-07 08:32:12

标签: continuous-integration xcode-bots xcode-server

Xcode Server Bot集成在第六阶段停止:

  

“导出可安装产品”

enter image description here

原始构建日志显示为最终条目:

$ /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分钟 - 因为它永远不会完成。早期阶段需要三分钟,因此十七分钟就有足够的时间进行出口。

此类其他帖子未提供解决方案:

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 个答案:

答案 0 :(得分:1)

最后,唯一要做的就是重置Xcode服务器

正如Xcode Server Hacks: 1. Under the Hood of Xcode Server故障排除:

中所强调的那样
  

“当你破解太多并且Xcode Server发疯时,你需要一种方法   重置所有状态并重新开始。我原来的时候   开发Buildasaur,我会每天重复几次Xcode Server。   有一个命令可以停止Xcode的所有运行守护进程   服务器并删除/ Library / Developer / XcodeServer的所有内容。   请注意,您的所有机器人和集成数据都将被删除   好吧。在调试过程中它是一个不可或缺的工具,但要小心   生产不要意外删除所有的机器人和集成   资产“。

该命令会吹走所有机器人和配置:

sudo xcrun xcscontrol --reset.

完成此操作后,有必要重新启动,配置Server应用程序的Xcode服务以添加必要的开发团队。

这就是事情变得有趣的地方。

输入Apple ID,并选择相关团队;显示错误:

  

“您必须是团队代理或管理员才能将此服务器添加到   开发团队“

使用Apple的开发人员门户将Apple ID设置为团队管理员修复了该问题。

在测试Bot中加入后,它有效!

在经历了所有这些痛苦后,我的建议如下:

- 从服务器的Xcode服务中删除团队。然后重新添加。这将显示管理员权限的任何问题。

- 如果失败,请执行重置并重新配置服务器的Xcode服务。然后重新添加机器人。

上面的第二个选项是痛苦,但它比花费数小时甚至数天试图解决要快得多。我能够在一个多小时内重置,重新配置并重新添加大约十个机器人 - 通过复制。