Подтвердить что ты не робот

Непрерывная интеграция и развертывание - Xcode 6.1, OS X Server 4, Testflight, Cocoapods

С недавним выпуском программного обеспечения Apple я не мог найти никаких современных решений для непрерывной интеграции и развертывания с использованием новых Xcode 6.1, OS X Server 4 и TestFlight (платформа распространения альфа/бета-версии Apple). После нескольких часов разочарования я смог добиться от вас всего гладко. Я разделяю это в надежде, что я могу спасти некоторых из вас от необходимости делать то же самое.

Этот пост - это обновленная версия сообщения блога Мэтта Влашаха, найденного здесь.

В любом случае, вот шаги...

1. Создать и опубликовать новую схему

  • Открыть проект в Xcode
  • Перейдите к верхней панели и выберите "Продукт" > "Схема" > "Управление схемами"
  • Создайте новую схему и нажмите галочку "общий"

2. Настроить архив схемы Последействия

  • Перейдите к верхней панели и выберите "Продукт" > "Схема" > "Управление схемами"
  • Выберите новую схему и нажмите править
  • Разверните раскрывающийся список "Архив" и выберите "Пост-действия"
  • Нажмите "+" внизу, чтобы создать действие "Новая рабочая среда запуска Script"
  • Скопируйте этот script и отредактируйте 5 значений, заключенных в теги "< > ", чтобы соответствовать вашей среде

3. Установить идентификаторы распространения и профили Provisioning на сервер OS X

ПРИМЕЧАНИЕ. Эти шаги должны выполняться на Mac с OS X Server

  • Если у вас нет действующего сертификата распространения, создайте (или экспортируйте) сертификат распространения на вашу цепочку ключей
  • Сертификат по умолчанию будет принадлежать категории "login" в цепочке ключей, просто перетащите сертификат в категорию "Система" (расположенную на боковой панели приложения "Доступ к Keychain" ).
  • Скопируйте необходимые профили подготовки в /Library/Developer/XcodeServer/ProvisioningProfiles/
    • Примечание. Вам необходимо будет изменить права доступа к папке для доступа к ней.
    • Напоминание: убедитесь, что профили обеспечения были подписаны с сертификатом распространения, установленным на вашем компьютере.

4. Изменить правила доступа к ресурсам правил для подписей

ПРИМЕЧАНИЕ. Этот шаг является обходным решением проблемы Xcode, которая, как представляется, была вновь введена в Xcode 6.1

  • Открыть проект в Xcode
  • Перейдите к настройкам сборки
  • В разделе "Подписание кода" добавьте $(SDKROOT)/ResourceRules.plist в "Путь правил ресурсов подписи кода"

5. Commit Changes to Remote Repository

  • Зафиксировать и нажать изменения в удаленном репозитории

6. Создание и настройка Xcode Bot

ПРИМЕЧАНИЕ. Эти шаги должны быть выполнены на Mac с OS X Server. Кроме того, если вы используете SSH для доступа к репозиторию проекта git, существует множество ресурсов, которые помогут вам выполнить дополнительные шаги, чтобы ваш бот Xcode мог получить доступ к вашему репо.

  • Проект клонирования из удаленного репозитория (при необходимости) и открыт в Xcode
  • Перейдите в верхнюю панель и выберите "Продукт" > "Создать бот".
  • Выберите созданную схему.
  • Введите учетные данные для доступа к репозиторию проекта (при необходимости)
  • Выберите желаемую частоту расписания, действия и т.д. и создайте бот

После того, как вы закончите эти шаги, вы должны увидеть, что бот запускает интеграцию, которая должна клонировать ваш проект из удаленного репозитория, строить его и загружать в TestFlight!

ПРИМЕЧАНИЕ. Если вы используете CocoaPods, при создании новой схемы убедитесь, что цель установлена ​​в рабочее пространство. Кроме того, поскольку Xcode-боты и CocoaPods по-прежнему плохо взаимодействуют друг с другом, у вас нет файлов, связанных с CocoaPods в вашем .gitignore. Есть решения для предотвращения того, чтобы отслеживать все эти файлы в вашем репозитории, но мне еще предстоит найти надежное решение.

4b9b3361