除非用户登录,否则钥匙串不会从Jenkins脚本解锁
我正在OS X机器上运行Jenkins CI服务器。该服务器以标准用户“
john”的身份运行,并通过运行launchctl启动。该服务器要做的一件事是使用存储在钥匙串“
xcode.keychain”中的钥匙和证书来构建XCode项目:
当用户按下Web界面上的按钮时,Jenkins(根据活动监视器在用户“ john”下运行)将通过脚本调用这些命令。
security default-keychain -s /Users/john/Library/Keychains/xcode.keychainsecurity 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