要解决此问题,请尝试登录 http://appleid.apple.com 并更新您的安全问题。
它帮助了我。
如果你有sudo,你可以使用passwd来更改Jenkins用户的密码。然后你可以获得Jenkins密码。
另外,我不确定这是否适合您,但我通过Jenkins使用的ANT脚本有:
<target name="unlock_keychain"> <exec executable="security"> <arg value="-v"/> <arg value="unlock-keychain"/> <arg value="-p"/> <arg value="<My Password>"/> <arg value="/Users/macbuild/Library/Keychains/login.keychain"/> </exec> </target>
钥匙串需要先解锁才能使用。您可以使用 security unlock-keychain 开锁。您可以以交互方式(更安全)或通过在命令行上指定密码(不安全)来做到这一点,例如:
security unlock-keychain
security unlock-keychain -p mySecretPassword...
显然,将其放入脚本会危及该钥匙串的安全性,因此通常人们只使用签名凭证设置单独的钥匙串,以最大限度地减少此类损害。
通常在 Terminal 钥匙串已被您的会话解锁,因为默认钥匙串在登录时已解锁,因此您无需这样做。但是,任何未在您的会话中运行的进程都不会有解锁的钥匙串,即使它是您作为用户(最常见的是这会影响) ssh ,还有任何其他过程)。
Terminal
ssh
也可以安装&amp;启动JenkinsCI作为OS X用户而不是守护进程:
http://127.0.0.1:8080
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
/Applications/Jenkins/jenkins.war
我使用Xcode插件来构建iOS应用程序。 在配置项目。
选择 添加构建步骤&gt; Xcode&gt;代码签名&amp; OS X钥匙串选项。
蜱 解锁钥匙串 框并添加如下(例如)
somtimes,如果我得到错误
代码签名错误:...
我将重新打开Jenkins并再次输入密码以解锁
我将公司的私钥和公钥添加到钥匙串中。 我添加了将要构建的生产的配置文件。
由于此用户没有帐户,因此我使用我的帐户登录了devcenter。下载配置证书并将其加载到Xcode中。
我没有专门为构建角色帐户添加证书,例如。詹金斯。
我确实将它添加到构建脚本中: 安全解锁-keychain -p mySecretPassword如上,但......
我创建了一个文件〜/ .ssh / mypass并将密码添加到文件中。
然后命令变为: 安全解锁 - 钥匙串-p cat ~/.ssh/mypass
cat ~/.ssh/mypass
构建工作就像一个冠军。我得到了ipa文件,它加载到应用程序中心并在设备上运行。
要更改密码,您可以使用 sudo passwd jenkins <new-pw> 。但是我认为最好使用dscl命令来更改密码。
sudo passwd jenkins <new-pw>
在我的安装中,jenkins(官方安装程序)有一个用户shell / usr / bin / false。将其更改为bash解决了无法登录的问题:
sudo dscl . -change /Users/jenkins UserShell /usr/bin/false /bin/bash
您现在应该可以登录了 su jenkins 。
su jenkins
对于有钥匙串问题的人,我建议你尝试我的替代Jenkins安装程序 https://github.com/stisti/jenkins-app ,下载地址 https://github.com/stisti/jenkins-app/downloads
Jenkins.app在您的用户会话中运行Jenkins,因此keychain访问问题不是问题:)
出于某种原因,“安全”实用程序对于我来说并不适合我使用新的Jenkins安装。
在“sudo su jenkins”之后,它能够创建新的钥匙串,但是默默地忽略了所有“default-keychain -s ...”或“unlock”命令,这些命令返回零退出状态并且没有打印到控制台。列表默认或登录密钥链什么都没有,钥匙串搜索列表只包含系统密钥链,无论我输入什么,我都无法改变它。
在我登录到该用户的桌面并启动了Keychain Utility之后,它确实显示了我创建的钥匙串,之后一切都按照上面的帖子所述工作。
我想知道Lion中的一些初始钥匙串行为是否发生了变化,或者我错过了什么?
我遇到了同样的问题,并且一直在寻找答案。这是我学到的一件事。
我正在运行jenkins作为jenkins用户,由安装程序创建的用户,并且正如其他人所提到的,他无法访问普通用户所做的相同的钥匙串。我没有尝试以jenkins用户身份登录,而是创建了第二个构建项目,它只有一个构建步骤,即“Execute Shell”,我在其中运行我想要作为jenkins用户进行测试的命令。
一旦我完成了设置,我就可以运行命令了
security list-keychains
这告诉我,詹金斯唯一可以看到的是系统钥匙串。
+ security list-keychains "/Library/Keychains/System.keychain" "/Library/Keychains/System.keychain"
凭借这些知识,我随后打开了Keychain Access应用程序并将我的“iPhone Developer:xxxx”证书复制到系统钥匙串中(右键单击,从“登录”钥匙串复制)。
这让我通过了证书/私钥对代码签名错误,但打开了另一个配置配置文件(看起来像一个类似但不同的问题)。