我们的构建设置已经使用了几年了。然而,只有当 iOS 构建通过 Jenkins 运行几天后,我们才会遇到错误。
输出设置如下。
最近没有对 Jenkins 节点或连接机制进行任何更改。
当我们执行 Jenkins 作业时,它在归档阶段出错,指示以下错误
存档失败 **
以下构建命令失败: PhaseScriptExecution [CP]\ Embed\ Pods\ Frameworks /Users/myjenkinsuser/Library/Developer/Xcode/DerivedData/PoPoc-ghliacqvmeaczodimbswpjdefbrk/Build/Intermediates.noindex/ArchiveIntermediates/PoPoc/IntermediateBuildFilesPath/PoPoc.build/Release-iphoneos/PoPoc.build /Script-9B3D469C72BEFC2B2114A431.sh(在项目“PoPoc”的目标“PoPoc”中) (1 次失败) [23:16:36]: [31m退出状态: 65[0m
有趣的是,当我们通过终端从 Jenkins 节点运行相同的构建命令时,构建会成功。此外,当通过 Xcode(在 Jenkins 节点内)构建时,它会毫无错误地完成。
尝试了以下操作:
目前,我们从 Jenkins 节点内执行 fastlane 脚本来创建构建,但这并不理想,因为仅向有限数量的人授予了对节点的访问权限。
如果有人能为我们指出调查此问题的方向,我们会很高兴,因为我们已经没有想法了。
我们做了两件事来解决这个问题。两者可能都不需要。
#!/bin/bash security unlock-keychain -p YOUR_LOGIN_PASSWORD_HERE login.keychain
断开节点与 Jenkins master 的连接并重新启动连接。下一个构建成功了。
构建过程可能无法对应用程序进行签名,但错误消息根本没有意义。