Я пытаюсь настроить непрерывную сборку / интеграцию для стабильной версии приложений для iPhone.
У меня есть:
- Выделенный Mac Mini.
- Учетная запись пользователя с именем "build"
- Hudson set up as a LaunchAgent for build, by dropping a plist in /Users/build/Library/LaunchAgents
- Tried as a system-wide LaunchDaemon running as hudson, but then had no access to the build user's login keychain. Long story, full of heartache.
- Система настроена на автоматический вход в систему "build" при запуске, так что Hudson начинает работать.
Большая проблема - это кодовая подпись и брелок.
Мы создаем код от имени идентификаторов разработчиков наших клиентов, поэтому у нас есть несколько идентификаторов разработчиков, и мы будем добавлять их.
Я хочу поместить Mini в глубокую темную комнату и никогда не смотреть на него, но при первом построении с идентификатором разработчика появляется диалоговое окно с графическим интерфейсом пользователя, спрашивающее, хотите ли вы всегда разрешать codeign доступ к идентификатору разработчика.
Предполагая, что вы это сделаете, это диалоговое окно изменяет список управления доступом (ACL) связки ключей, чтобы разрешить использование кодов.
Вы можете просмотреть это, открыв Связку ключей, развернув сертификат, выбрав закрытый ключ, щелкнув правой кнопкой мыши, выбрав Получить информацию, а затем переключившись на вкладку Контроль доступа. «Девственный» ключ будет иметь только Keychain Access в списке «всегда разрешенных» приложений. Тот, который вы использовали и подтвердили в диалоговом окне, также будет иметь кодовый знак.
Это поле позволяет добавить приложение, кроме стандартного средства выбора файлов Finder, которое скрывает папки Unix. Нет возможности перейти в / usr / bin / codeign. Так что вручную добавить невозможно!
Кто-нибудь знает способ обойти это?
Мне известен один метод, использующий переключатель -T в «импорт безопасности», но затем вы должны указать ACL при импорте ключа в первую очередь, поэтому любые ключи, добавленные в графический интерфейс Keychain, должны быть отброшены и повторно импортированы. Не совсем хорошо.