我正在尝试使用shell命令使用jenkins管道构建我的应用程序。下面是我用来构建应用程序的命令。
sh 'xcodebuild -workspace projectname.xcworkspace - allowProvisioningUpdates -scheme projectname_UAT -sdk iphoneos - configuration Debug clean build'
以下是我得到的控制台错误。
注意:使用新的构建系统
注意:规划构建
2018-10-11 11:19:36.638 xcodebuild [92399:5181481] DVTPortal:服务''从门户网站遇到意外的结果代码('1100')
2018-10-11 11:19:36.638 xcodebuild [92399:5181481] DVTPortal:错误:
错误域= DVTPortalServiceErrorDomain代码= 1100“您的会话已过期。请登录。” UserInfo = {payload = {type = mutable dict,count = 9,
entries =>
0 : responseId = <CFString 0x7ff48deef220 [0x7fff94b6daf0]>{contents = "40d9ad44-c951-49da-b3f3-b3ea434765a1"}
2 : <CFString 0x7fff94a90b58 [0x7fff94b6daf0]>{contents = "protocolVersion"} = QH65B2
3 : <CFString 0x7ff48dea3420 [0x7fff94b6daf0]>{contents = "requestUrl"} = <CFString 0x7ff48de3d9a0 [0x7fff94b6daf0]>{contents = "https://developerservices2.apple.com/services/QH65B2/viewDeveloper.action"}
6 : <CFString 0x7ff48dec8c30 [0x7fff94b6daf0]>{contents = "userLocale"} = en_US
8 : resultCode = <CFNumber 0x44c37 [0x7fff94b6daf0]>{value = +1100, type = kCFNumberSInt64Type}
9 : userString = <CFString 0x7ff48ded0cc0 [0x7fff94b6daf0]>{contents = "Your session has expired. Please log in."}
10 : <CFString 0x7ff48dea94d0 [0x7fff94b6daf0]>{contents = "resultString"} = <CFString 0x7ff48de648e0 [0x7fff94b6daf0]>{contents = "authentication.failed"}
11 : httpCode = <CFNumber 0xc837 [0x7fff94b6daf0]>{value = +200, type = kCFNumberSInt64Type}
12 : <CFString 0x7ff48de340f0 [0x7fff94b6daf0]>{contents = "creationTimestamp"} = <CFString 0x7ff48de9a7d0 [0x7fff94b6daf0]>{contents = "2018-10-11T10:19:36Z"}
}
我甚至尝试从本地xcode中的xcode首选项以及我的jenkins安装的机器中删除开发人员帐户。我又重新添加了它。还从两个地方的Keychain App中删除了已登录的会话(本地钥匙串,远程钥匙串)但似乎没有任何帮助我。我正在使用Xcode10,Mac OS Mojave,可能是什么问题,任何帮助表示赞赏。谢谢。
这个问题也出现在一个Jenkins构建的奴隶上,致力于构建一个特定的应用程序(适用于iOS和Android)。 Mac上有Mojave和Xcode 10.1
修复程序似乎登录到Mac,并使用Xcode UI导出Jenkins创建的存档,而不是xcodebuild。在这样做之后,下一个Jenkins构建时没有问题。我说似乎是因为我没有对詹金斯的工作或奴隶做任何其他事情,而且在那之前它一直没有失败。看起来很奇怪,但你有它。
在构建其他应用程序的构建从服务器上没有发生这个特定问题,但是这些其他从服务器在使用Xcode 10.1时都在High Sierra上。然而,自从Apple合并Apple Developer和App Store Connect以来,我们在所有iOS版本中都有其他奇怪的行为。
这有助于解决Jenkins使用ssh运行slave的问题:
几个星期我一直有类似的问题。自从更新到Xcode 10后,Jenkins所做的每一个方面都会成功,除非我得到错误并且构建失败。在Xcode中直接建立,签名等都很好。
我的解决方案是Xcode 10.1更新。您列出的错误仍存在于Jenkins输出中。但是它不再导致Jenkins失败。
可悲的是,我实际上并不知道导致失败的原因,所以我没有任何进一步的见解。