尝试将Xcode 8与Jenkins一起使用时出现此错误。从来没有这样,并且在同一台机器上的Xcode 8编译得很好,所以我们只能在Jenkins中得到它。有人知道为什么吗?我们正在使用Xcode Integration插件v1.4.11进行iOS构建作业。
这是Jenkins日志中的错误消息:
15:04:16 ** BUILD FAILED **
15:04:16
15:04:16
15:04:16 The following build commands failed:
15:04:16 CopyPNGFile /Users/Shared/Jenkins/Home/jobs/Project_iOS_Build_Release_Branch/workspace/builds/dev_staging/SomeAssets.bundle/icon_cart.png SomewPod/Something/Assets/icon_cart.png
我发现这似乎发生在pod资产包中的所有资产,无论哪一个。出于某种原因,在使用Jenkins进行编译时,pod资产不会复制到Jenkins临时工作空间位置。
周围的任何Jenkins / Xcode专家对此有何了解?这个问题严重影响了我们的构建管道。
编辑:我发现此命令首先在Jenkins中失败:
/Applications/Xcode.app/Contents/Developer/usr/bin/copypng -compress -strip-PNG-text /Users/Shared/Jenkins/Home/jobs/iOS_Test/workspace/Pods/FooPod/Foo/Assets/foo.png /Users/Shared/Jenkins/Home/jobs/iOS_Test/workspace/builds/dev_staging/FooAssets.bundle/foo.png
但是当我在终端中运行它时,它会成功执行并复制文件。詹金斯为什么会突然失败?
EDIT2:
我在Jenkins日志输出中偶然发现了这一行:
execvP: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin: path too long
Jenkins似乎存在长路径名称的问题。这可以解释为什么这个问题只发生在Jenkins,而不是Xcode。
由于我无法减少路径名字符长度,我想知道这个Jenkins问题是否有任何已知的解决方法?