2012-08-22 38 views
3

我试图将詹金斯设置为xcode,并且不断收到认证错误。授予詹金斯解锁钥匙扣的权限

在我的shell脚本我有这样的命令:security unlock-keychain $KEYCHAIN

但由于詹金斯正在运行的用户詹金斯'它似乎缺乏权威解锁钥匙串并打印此错误时:

[workspace] $ /bin/sh -xe /var/folders/lD/lDiU3VbfHpm-KUHY26PrX++++Do/-Tmp-/hudson2556417005809365518.sh 
+ sh build.sh 
security: SecKeychainUnlock /Users/vb_admin/Library/Keychains/login.keychain: Could not write to the file. It may have been opened with insufficient access privileges. 

任何不胜感激。

在此先感谢!

+0

你运行詹金斯作为一个LaunchDaemon?如果是这样,你可能会找到[这个问题]的答案(http://stackoverflow.com/questions/6827874/missing-certificates-and-keys-in-the-keychain-while-using-jenkins-hudson-as-cont/9482707#9482707)非常具有启发性,尤其是[这一个](http://stackoverflow.com/questions/6827874/missing-certificates-and-keys-in-the-keychain-while-using-jenkins-hudson-as- cont/9482707#9482707),这为我解决了一个类似的问题。 – amadour

回答

1

给用户'詹金斯'或在你的shell脚本给予更多的特权授予适当的权限文件。至于错误显示它说'写'privilages不可用。

0

让jenkins用户访问证书的最好方法是将证书安装到jenkins用户的钥匙串中,而不是混淆文件系统安全性,并可能让任何人访问jenkins用户访问vb_admin用户的钥匙串。

security <CERT_FILE> import -k $HOME/Library/Keychains/login.keychain -Tcodesign