2015-10-27 30 views
1

我试图从Jenkins构建一个Xamarin Touch项目,它在代码签名阶段失败。iOS代码签名失败仅适用于Jenkins

我的证书和密钥在系统密钥链中,所以应该可以被Jenkins访问。我在构建项目时没有代码签名问题:

  • 使用Xamarin Studio。
  • 使用/bin/bashxbuild作为Jenkins用户登录。
  • 使用/bin/shxbuild作为Jenkins用户登录。

代码签名问题唯一出现的时候是詹金斯构建自己。

错误是“用户交互不被允许”,我无法解释什么是Jenkins构建出错时,当我从shell运行相同的命令时,一切都以Jenkins用户身份运行。

+0

Dup? http://stackoverflow.com/questions/20205162/user-interaction-is-not-allowed-trying-to-sign-an-osx-app-using-codesign&http://www.egeek。me/2013/02/23/jenkins-and-xcode-user-interaction-is-not-allowed/ – SushiHangover

+0

我认为这个问题很相似但略有不同,我已经把所有东西都移到系统钥匙串中,所以一切都应该有权限现在默认。钥匙串本身一定是可以的,因为即使我在Jenkins中以shell的身份登录时,Jenkins之外的所有东西都能正常工作。 – user3617723

回答

0

所以事实证明我的问题是我的代码签名密钥仍然在登录钥匙串以及系统钥匙串。

我猜这意味着构建首先在登录钥匙串中看到了钥匙,但之后因为未解锁而失败。

一旦我从登录钥匙串中删除它们,所以它们只在系统钥匙串中开始工作。

我还不确定为什么这只是Jenkins内部的一个问题,因为一切都正常工作,使用登录为詹金斯的shell。

1

您可以尝试在Jenkins凭据区域导入您的凭证。

here

允许詹金斯阶段开发人员配置这个插件建立在证书插件,允许你存储你的苹果开发者 配置文件(* .developerprofile)文件的顶部 。此文件包含代码签名 私钥,相应的开发人员/分发证书和 移动设置配置文件。您可以从您的 XCode创建此文件。

要将开发人员配置文件上传到Jenkins,请在系统配置页面中转到“管理 凭据”,然后从“添加”按钮中选择“Apple 开发人员配置文件”。有关 的更多详细信息,请参阅Credentials插件。

要使用此配置文件用于签名,添加“导入开发人员配置”作为 生成步骤运行的Xcode之前,选择开发人员配置到 导入到构建机器。该构建步骤将将 开发人员配置文件安装到从设备的钥匙串中。

+0

这一切都是在一个Jenkins主箱上完成的,因此他们不应该对钥匙串有任何问题,正如我所说的,我已将所需的证书和钥匙放入系统钥匙串中。 – user3617723

相关问题