Я пытаюсь настроить непрерывную сборку/интеграцию для стабильных приложений для iPhone.
У меня есть:
- Специальный Mac Mini.
- Учетная запись пользователя с именем "build"
- Hudson настроен как LaunchAgent для сборки, сбросив plist в /Users/build/Library/LaunchAgents
- Пробовал как системный LaunchDaemon, работающий как hudson, но затем не имел доступа к цепочке логина входа пользователя сборки. Длинная история, полная душевной боли.
- Система настроена на автоматический вход в систему при запуске, так что Хадсон начнет работать.
Большая проблема - кодовое кодирование и Keychain.
Мы создаем код от имени идентификаторов разработчиков наших клиентов, поэтому у нас есть несколько идентификаторов разработчиков, и мы добавим больше.
Я хочу поставить Mini в глубокую темную комнату и никогда не смотреть на него, но в первый раз, когда вы строите с идентификатором разработчика, появляется диалоговое окно с графическим интерфейсом, спрашивающее, хотите ли вы всегда разрешать кодовое имя получать доступ к идентификатору разработчика.
Предполагая, что это так, этот диалог изменяет список управления доступом к цепочке ключей (ACL), чтобы разрешить кодовое имя.
Вы можете просмотреть это, открыв доступ к Keychain Access, расширив сертификат, выбрав закрытый ключ, щелкнув правой кнопкой мыши, выбрав "Получить информацию", а затем перейдите на вкладку "Контроль доступа". "Виргинский" ключ будет иметь доступ к Keychain Access в своем списке "всегда разрешать". Тот, который вы использовали и подтвердил в диалоговом окне, также будет иметь код.
В этом поле вы можете добавить приложение, за исключением того, что вы получаете стандартный файл Finder, который скрывает папки Unix. Невозможно перейти к /usr/bin/codesign. Так что это невозможно добавить вручную!
Кто-нибудь знает об этом?
Я знаю один метод, используя ключ -T "импорт безопасности", но затем вы должны указать ACL при импорте в первую очередь, так что любые ключи, добавленные в GUI Keychain, должны были бы быть переброшены и реимпортированы. Не совсем очень приятно.