Создайте приложение для iPhone на сервере сборки

#ios #xcode #continuous-integration #jenkins

#iOS #xcode #непрерывная интеграция #дженкинс

Вопрос:

С помощью xcodebuild команды довольно просто создавать проекты iPhone на сервере сборки на базе Mac. Однако проблема, с которой я сталкиваюсь при создании нового проекта, заключается в том, что мне нужно установить профиль подготовки на компьютере.

Я думаю, что не очень хорошая практика проверять профиль подготовки вместе с кодом (это верно?). Итак, как мне убедиться, что во время сборки профили подготовки доступны с помощью какого-либо автоматизированного механизма.

Комментарии:

1. Совершенно нормально, чтобы профиль подготовки был зарегистрирован вместе с кодом. XCode может использовать профиль подготовки, только если у вас также установлен закрытый ключ на компьютере сборки, и это намного сложнее проверить.

Ответ №1:

Вы можете проверить сертификаты и закрытый ключ в своей системе управления исходным кодом, предполагая, что они не являются общедоступными.

Кроме этого, есть два варианта: либо использовать инструмент автоматизированного построения системы, такой как Chef, либо запустить собственный сценарий оболочки для настройки машин сборки.

Вы могли бы создать рецепт шеф-повара, который создает новый сервер CI на базе Jenkins, загружает профиль подготовки (и закрытый ключ) с внутреннего сервера и устанавливает его в Library/MobileDevices/Provisioning Profiles каталог пользователя Jenkins (и логин.связка ключей) на новом сервере CI.

Вы также можете автоматизировать эту часть настройки сервера с помощью сценария оболочки:

 curl -O http://your_server/ABCD.mobileprovision 
cp ABCD.mobileprovision ~/Library/MobileDevices/Provisioning Profiles
curl -O http://your_server/DeveloperCerts.p12 
security import DeveloperCerts.p12 -P this_is_your_password -T codesign -T security