【发布时间】:2015-12-07 01:37:33
【问题描述】:
我的配置。
- Jenkins 服务器与Keychains and Provisioning Profiles Plugin
- Mac Mini 作为远程构建服务器
- 个人 Apple 开发者帐户。
显然,我正在尝试在远程服务器上进行代码签名。
我相信,我拥有个人 Apple 开发者帐户这一事实意味着我无法向其他开发者颁发“许可”来处理我的项目,并且该节点不能只拥有自己的 Apple ID。
按照插件说明,我认为“配置文件”部分是正确的。
钥匙链显然不起作用。起初我上传了 .cert 和 .p12 文件,但上传时出错。然后我上传了它成功解析的整个 login.keychain。我给它钥匙串密码。右键单击钥匙串管理器中的钥匙时,我从“信息”部分窃取了“身份”字符串; “iPhone 开发者:William Guynes (XXXXXXXXXX)”。上传成功后,我无法知道其他两个字段是否正确。我相信所需的密码是 login.keychain 密码,但字段描述有点模糊。我发现了一个“身份”字符串的部分模糊示例,但我在猜测从哪里得到它。
这不是我的密钥是我的用户名和 Jenkins 使用“Jenkins”用户名的情况。当作业被推送到远程时,它以名为“ci”的用户身份运行。我可以给 ci 任何需要的权限,包括直接操作它的钥匙串。我还没有让它工作,但我觉得首先使用插件不需要像这样的解决方法。
当前构建输出:
Console Output
Started by user William Guynes
Building remotely on mini (osx) in workspace /Users/ci/workspace/websocketclient
> git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> git config remote.origin.url ssh://lion.guynes.net/var/git/WebSocketClient.git/ # timeout=10
Fetching upstream changes from ssh://lion.guynes.net/var/git/WebSocketClient.git/
> git --version # timeout=10
using GIT_SSH to set credentials
> git -c core.askpass=true fetch --tags --progress ssh://lion.guynes.net/var/git/WebSocketClient.git/ +refs/heads/*:refs/remotes/origin/*
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
> git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision 51c15eabd01c443ef6fee24cc755af60f706a4f0 (refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f 51c15eabd01c443ef6fee24cc755af60f706a4f0
> git rev-list 51c15eabd01c443ef6fee24cc755af60f706a4f0 # timeout=10
[websocketclient] $ /bin/bash /var/folders/54/kvd8ytzd6yl3d2y7zdxf_ygw0000gp/T/hudson2702132375138804077.sh
Executing do/all
Executing do/setup
Executing do/build
=== BUILD TARGET WebSocketClient OF PROJECT WebSocketClient WITH THE DEFAULT CONFIGURATION (Release) ===
Check dependencies
Code Sign error: No code signing identities found: No valid signing identities (i.e. certificate and private key pair) were found.
** BUILD FAILED **
The following build commands failed:
Check dependencies
(1 failure)
Executing do/test
Finished: SUCCESS
我花了一整天的时间在谷歌上搜索并试图找到答案。许多链接返回到this blog post,但它描述了手动复制配置文件并将密钥从“登录”移动到“系统”。它不考虑远程服务器。解决插件最初旨在解决的问题似乎是一种临时破解!
【问题讨论】:
标签: ios macos jenkins jenkins-plugins