Я использую сервер Jenkins CI на компьютере с OS X.Сервер работает от имени обычного пользователя john и запускается с помощью launchctl.Одна из вещей, которые выполняет этот сервер, - это создание проектов XCode с использованием ключей и сертификатов, хранящихся в цепочке для ключей 'xcode.keychain':
Jenkins (который выполняется под пользователем 'john' согласно монитору активности) вызывает эти командыиз сценария, когда пользователь нажимает кнопку в веб-интерфейсе.
security default-keychain -s /Users/john/Library/Keychains/xcode.keychain
security unlock-keychain -p password /Users/john/Library/Keychains/xcode.keychain
xcodebuild ...
Если мне случится войти на сервер как 'john' через пользовательский интерфейс, цепочка для ключей будет разблокирована должным образом, когда Jenkins вызывает эти команды,Но, если я не вошел в систему, xcode.keychain не разблокируется и сборка завершается неудачно.Есть идеи?