Jenkins构建失败:Xcode找不到匹配的配置文件 [英] Jenkins Build Failed : Xcode couldn't find a provisioning profile matching
问题描述
我让Jenkins Master在Ubuntu的Aws实例上运行,并且将Mac笔记本电脑创建为Slave,当我在Mac loptop生成中使用Xcode运行成功时,但是当我从Jenkins触发它时,就可以了.
I have Jenkins Master running on Aws instance of Ubuntu and created mac laptop as slave , when I ran using Xcode in mac loptop build is successful but when I trigger it from Jenkins it's giving.
error :
Check dependencies : No profiles for 'com.xyz.abc' were found: Xcode couldn't find a provisioning profile matching 'com.xyz.abc'. Code signing is required for product type 'Application' in SDK 'iOS 10.2'
* ARCHIVE FAILED * The following build commands failed: Check dependencies (1 failure) Build step 'Xcode' marked build as failure.
Ps:
我已经尝试阅读以前的文章,但是其中大多数都让Jenkins运行在MAC上,而且xcode也运行在同一台服务器上,这不是我的情况.
I have already tried to read previous post but most of them were having Jenkins running on MAC, also xcode is running on same server which is not my case.
由于我能够在xcode中运行我的项目,因此我觉得我的代码签名和供应配置文件正确.此外,现在我可以使用创建IPA Xcode选项:
As I am able to run my project in xcode I feel that my code signing & provisioning profile are correct. Furthermore now I am able to create IPA using Xcode option :
产品->在Mac笔记本电脑中以Xcode存档
那为什么詹金斯无法创建ipa?
Then why jenkins is not able to create ipa ?
我还已经将login.keychain中的所有密钥移到了system.keychain
I also have moved all keys in login.keychain to system.keychain
我已使用java slave-agent.jnlp将jenkins master(ubuntu)连接到slave(mac)
I have connected jenkins master(ubuntu) to slave(mac) using java slave-agent.jnlp
Jenkins控制台输出:
Jenkins Console Output :
================================================ ============ ==可用的配置文件 [ios] $/usr/bin/security find-identity -p codesigning -v
=========================================================== == Available provisioning profiles [ios] $ /usr/bin/security find-identity -p codesigning -v
27)XXXXX"Mac开发人员:Ashish Karpe(YYYYY)"
27) XXXXX "Mac Developer: Ashish Karpe (YYYYY)"
哪个与Mac笔记本电脑中的xcode相似,所以我无法弄清楚她出了什么问题!
Which is similar as in xcode in mac laptop so I am not able to figure out what is wrong her !
推荐答案
最后,我得到了解决方案,现在我可以看到我们可以使用MAC笔记本电脑作为从服务器,从Jenkins Master(Ubuntu AWS实例)构建IPA.
At last I got the solution and now I can saw we can build IPA from Jenkins Master (Ubuntu AWS instance) using MAC laptop as slave.
我的错误是创建了太多的配置文件.当我使用一个可以正常工作的配置文件(10位开发团队ID)时,我在Mac笔记本电脑上使用Xcode,因此我在Jenkins端使用了相同的配置文件,但失败了!
My mistake was there were too many provisioning profiles created. I Xcode on Mac laptop when I used one profile (10 digit Development Team ID) which was working properly so I used same on Jenkins side but it failed !
此外,当我在Jenkins主服务器上配置Provisioning配置文件并尝试另一个对我有用的10位开发团队ID时,Jenkins显示了所有检测到的配置文件.
Furthermore Jenkins showed all the detected profiles when I configured Provisioning profiles on Jenkins master and tried with another 10 digit Development Team ID which worked for me.
现在我可以一起使用Jenkins构建来创建IPA,但是我不确定为什么在Xcode中可用的个人资料可以工作但在Jenkins中不可用.
All together now I am able to create IPA using Jenkins build but I am not sure why my profile which worked in Xcode worked but didn't worked in Jenkins.
由于完成了我的任务,因此将其标记为答案",因此如果其他人遇到类似的问题,他可以尝试使用10位数字的开发团队ID使其正常工作!
Since, my task is done to marking it here as Answer so in case someone else face similar issues, he can try with 10 digit Development Team ID to get it working !
希望如此,这对我非常沮丧并开始讨厌IOS部署的人有所帮助!
Hope so this helps someone as I was frustrated a lot and had started hating IOS Deployment !
这篇关于Jenkins构建失败:Xcode找不到匹配的配置文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!