#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