Jenkins 构建失败:Xcode 找不到匹配的配置文件
Posted
技术标签:
【中文标题】Jenkins 构建失败:Xcode 找不到匹配的配置文件【英文标题】:Jenkins Build Failed : Xcode couldn't find a provisioning profile matching 【发布时间】:2017-10-05 07:24:35 【问题描述】:我让 Jenkins Master 在 Ubuntu 的 Aws 实例上运行并创建了 mac 笔记本电脑作为从属设备,当我在 mac loptop 构建中使用 Xcode 运行时成功,但是当我从 Jenkins 触发它时它正在提供。
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.
附:
我已经尝试阅读以前的帖子,但他们中的大多数都让 Jenkins 在 MAC 上运行,xcode 也在同一台服务器上运行,这不是我的情况。
由于我能够在 xcode 中运行我的项目,我觉得我的代码签名和配置文件是正确的。此外,现在我可以使用创建 IPA Xcode 选项:
产品 --> Mac 笔记本 Xcode 中的存档
那为什么 jenkins 不能创建 ipa 呢?
我也将 login.keychain 中的所有键移到了 system.keychain
我已经使用 java slave-agent.jnlp 将 jenkins master(ubuntu) 连接到 slave(mac)
Jenkins 控制台输出:
================================================ ============= == 可用的配置文件 [ios] $ /usr/bin/security find-identity -p codesigning -v
27) XXXXX“Mac 开发者:Ashish Karpe (YYYYY)”
这与 mac 笔记本电脑中的 xcode 类似,所以我无法弄清楚她出了什么问题!
【问题讨论】:
所以我怀疑 Jenkins 在哪里寻找配置文件? 你在使用 jenkins ios 插件吗? 没有。我没有使用 xcode jenkins 插件,我们只是使用 shell 脚本从 Kenkins 运行我们的构建,这意味着它将使用登录用户的钥匙串作为签名身份。 xcode 插件是否允许您指定/提供用于签名的证书和私钥?也许它没有使用钥匙串,而是它自己的安全存储?您是否按照以下说明进行设置:wiki.jenkins.io/display/JENKINS/… 每次更改证书或配置文件时都需要这样做。开发人员配置文件只是一个存档,其中包含证书快照、其私钥和配置文件在某个时间点。 我会考虑使用类似 fastlane 工具来自动获取最新配置文件。由于内部原因,我们没有 - 我们在版本控制系统中有配置文件,并检查它并在我们的构建脚本中明确使用它。我不确定如何自动导入 Jenkins,因为我们不使用插件进行构建。 【参考方案1】:最后我得到了解决方案,现在我可以看到我们可以使用 MAC 笔记本电脑作为从设备从 Jenkins Master(Ubuntu AWS 实例)构建 IPA。
我的错误是创建了太多的配置文件。当我使用一个正常工作的配置文件(10 位数的开发团队 ID)时,我在 Mac 笔记本电脑上进行了 Xcode,所以我在 Jenkins 端使用了相同的配置文件,但它失败了!
此外,当我在 Jenkins master 上配置 Provisioning 配置文件并尝试使用另一个对我有用的 10 位开发团队 ID 时,Jenkins 显示了所有检测到的配置文件。
现在我可以使用 Jenkins 构建创建 IPA,但我不确定为什么我的配置文件在 Xcode 中有效但在 Jenkins 中无效。
因为,我的任务是在此处将其标记为答案,所以如果其他人遇到类似问题,他可以尝试使用 10 位数的开发团队 ID 来使其正常工作!
希望这可以帮助一些人,因为我非常沮丧并且开始讨厌 IOS 部署!
【讨论】:
以上是关于Jenkins 构建失败:Xcode 找不到匹配的配置文件的主要内容,如果未能解决你的问题,请参考以下文章
使用 Google UMP SDK 构建 Xcode 失败并显示“找不到框架”
任务 ':app:mergeDebugResources' 的 Jenkins 执行失败,找不到文件
Xcode 找不到任何与“应用程序名称”匹配的 iOS 应用程序开发配置文件