jenkins构建关于“无证书匹配.....”的iOS项目错误

时间:2016-10-26 02:40:48

标签: jenkins xcode8 ios10 xcode-plugin

我的jenkins通过xcode-plugin构建iOS项目。

jenkins和xcode7构建项目没问题,但是xcode8错误: enter image description here

我的项目配置:

enter image description here

我在xcode上使用此配置尝试了归档项目(Debug),一切正常。

但jenkind构建失败!!

接下来我将此配置更改为:Automatically manage signing

jenkins构建错误:

enter image description here

有些人遇到过这样的问题吗? 我该如何解决?

2 个答案:

答案 0 :(得分:0)

必须可以在构建节点上访问Keychain和Provisioning Profile。 This Jenkins plugin可帮助您将密钥链和配置文件复制到构建节点。它还会创建变量,以便稍后在Jenkins作业中访问它们。

我们在运行Windows作为操作系统的(Jenkins)服务器上观察到此插件的问题。即它会在路径中使用反斜杠进行错误斜杠,这会使路径无法找到。

在这种情况下,您必须将包含证书的keyChain复制到构建节点,并在构建命令中指定它。在使用keyChain之前,请将其解锁:

security unlock-keychain -p "keychain_password" "/path/to/MyKeychain.keychain"

还有配置文件。将您的个人资料签入git可能会有所帮助。这样,您的(全局)keyChain存储在节点上,并且可以在您的仓库中到达您的(项目特定的)供应配置文件,并且您的任何解决方案(例如xcodebuild脚本)通常适用于所有作业,只要配置配置文件路径是通用的对于所有项目(例如:provisioning_profiles / Release / profile.mobileprovisioning)。

在这种情况下,我更喜欢xcodebuild而不是Xcode Jenkins插件。

答案 1 :(得分:0)

我正在努力

因为jenkins没有权限获得identity,jenkins日志:

security find-identity -p codesigning -v
0 valid identities found

我的Jenkins在tomcat中配置,而tomcat由LaunchAgents自动运行, 但我auto config plist /Library/LaunchAgents,并且按系统运行tomcat,无权获取identity

所以让auto config plist放在~/Library/LaunchAgents中,然后由用户运行tomcat,Jenkins获取所有identity