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