除非用户登录,否则钥匙串不会从Jenkins脚本解锁

我正在OS X机器上运行Jenkins CI服务器。该服务器以标准用户“

john”的身份运行,并通过运行launchctl启动。该服务器要做的一件事是使用存储在钥匙串“

xcode.keychain”中的钥匙和证书来构建XCode项目:

当用户按下Web界面上的按钮时,Jenkins(根据活动监视器在用户“ john”下运行)将通过脚本调用这些命令。

security default-keychain -s /Users/john/Library/Keychains/xcode.keychain

security unlock-keychain -p password /Users/john/Library/Keychains/xcode.keychain

xcodebuild ...

如果我恰巧通过UI以“

john”身份登录到服务器,则当詹金斯调用这些命令时,钥匙串会正确解锁。但是,如果我未登录,则xcode.keychain不会被解锁并且构建失败。有任何想法吗?

回答:

在没有启动作品的情况下运行詹金斯。我使用以下命令:

sudo su jenkins -c "JENKINS_HOME=/Users/Shared/Jenkins/Home /Library/Application\ Support/Jenkins/jenkins-runner.sh"

以上是 除非用户登录,否则钥匙串不会从Jenkins脚本解锁 的全部内容, 来源链接: utcz.com/qa/418921.html

回到顶部