Сконфигурируйте роботы для выполнения непрерывной интеграции
Роботы являются процессами, которые Сервер XCode выполняет для выполнения интеграции на текущей версии проекта в репозитории исходного кода. Интеграция является единственным выполнением робота. Интеграция состоит из здания, анализа, тестирования и архивации приложений (или другие программные продукты) определенный в Ваших проектах XCode. С Сервером XCode, который в состоянии получить доступ к репозиториям исходного кода тех проектов, можно сконфигурировать роботы для выполнения непрерывной интеграции на них.
На разработке Mac схема является рецептом для создания Вашего продукта. Схема содержит цели, исходные файлы и все остальное, что составляет Ваш продукт. Это также определяет, какие операции выполняются роботом во время интеграции. Для автоматизации интеграции Вы совместно используете ее схему и создаете робот для выполнения интеграции с помощью той схемы в желаемое время. Роботы могут быть сконфигурированы для выполнения:
Каждый раз изменение посвящает себя репозиторию
В регулярном расписании, такой как ежечасно, ежедневно, или еженедельно
Когда вручную инициируется
Схемы сборки доли
Схема указывает, какие цели создать для проекта, который конфигурация сборки использовать, и который исполнимая среда использовать, когда выпущен продукт. При создании нового iOS или проекта OS X XCode создает схему по умолчанию, включающую настройки для выполнения этих действий:
Проанализируйте, который выполняет статический анализ кода
Тест, выполняющий любые тестовые сценарии, которые Вы реализуете
Архив, создающий архив продукта, который создала схема
Для Сервера XCode для выполнения этих действий с проектом необходимо совместно использовать схему проекта. Совместно используемая схема является той, которую Вы публикуете в репозитории, вместе с другими совместно используемыми файлами проекта.
Совместно использовать схему проекта XCode
На Вашей разработке Mac проверьте и открытый проект, содержащий схему, которую Вы хотите совместно использовать.
Выберите Product> Scheme> Manage Schemes.
Установите флажок Shared для схемы совместно использовать, и нажать Close.
Выберите Source Control> Commit.
Выберите папку Shared Data.
Введите свое сообщение о фиксации в текстовое поле.
Выберите опцию «Push to remote» (если Вашим проектом управляют с Мерзавцем).
Нажмите кнопку «Commit Files and Push».
Схемы являются важной частью системы сборки XCode. Можно узнать больше о схемах чтением, Выбирают Scheme to Build Your App. В целях использования непрерывной интеграции, однако, важная задача состоит в том, чтобы установить выбранную схему, которая будет совместно использована и зарегистрирована репозиторий для робота для использования. Для получения дополнительной информации об управляющих схемах, посмотрите Редактирование, Создайте и Управляйте Схемами.
Создайте роботы для выполнения интеграции
После совместного использования схемы создайте робот для выполнения интеграции с помощью схемы.
Создать робот
На Вашей разработке Mac откройте проект XCode, содержащий схему, определяющую действия для автоматизации.
Выберите Product> Create Bot и укажите атрибуты идентификации робота.
Уезжайте опция «Integrate immediately» включила для наблюдения результатов первой интеграции в навигаторе журнала, как только создается робот.
Нажать Далее.
Обеспечьте учетные данные для своего репозитория. Необходимо сделать это, даже если Вы добавили учетные данные репозитория в своих предпочтениях XCode, потому что каждый робот хранит свой собственный набор учетных данных в безопасной цепочке для ключей на сервере.
Выберите желаемый репозиторий и нажмите Change. Или, выберите многократные репозитории и нажмите Change All. Введите свои учетные данные аутентификации, когда запрошено, затем нажмите Далее.
Укажите расписание интеграции при помощи всплывающего меню Расписания.
Можно запланировать робот для выполнения его интеграции периодически (ежечасно, ежедневно, или еженедельно), на каждой фиксации, или вручную.
Укажите действия робота путем устанавливания надлежащих флажков.
Можно включить статический анализ, тестирование и архивацию продукта.
Выберите, очистить ли продукты перед зданием.
При выполнении чистой интеграции робот не снова использует предыдущую сборку. Используйте всплывающее меню Очистки для указания частоты, с которой можно убрать: перед каждой интеграцией, один раз в день, один раз в неделю, или никогда.
Нажать Далее.
Для приложения для iOS выберите, на каких видах устройств или средств моделирования робот будет протестирован.
Любые устройства, которые Вы указываете, должны быть подключены к серверу для тестового действия для завершения.
Нажать Далее.
Роботы могут быть сконфигурированы для инициирования триггеров прежде и после интеграции. Триггер может выполнить Ваш собственный сценарий оболочки прежде или после интеграции или отправить уведомления по электронной почте после интеграции. По умолчанию робот включает триггер уведомления, предупреждающий разработчики, если существует отказ.
Укажите, кто должен получить уведомления по электронной почте от робота, и корректировать любые другие настройки для удовлетворения потребностей.
Следующий снимок экрана показывает пример уведомления по электронной почте, полученного после того, как робот выполнил успешную интеграцию.
При желании можно сконфигурировать дополнительные триггеры для выполнения прежде или за интеграцией.
Триггеры интеграции сообщения могут быть сконфигурированы для выполнения условно, такой как на успехе, при тестовых отказах, при ошибках сборки, на предупреждениях сборки, или на предупреждениях статического анализа.
Нажмите Create для создания робота.
Как объяснено в Управляют и Роботы Монитора от Навигатора Отчета, можно использовать навигатора отчета, чтобы вручную запустить робот, отредактировать робот и удалить его. Можно также использовать веб-браузер, чтобы контролировать состояние роботов, активов интеграции загрузки, и установить продукты iOS, как обсуждено в Роботах Монитора от веб-браузера.
Следующее видео, выбранное с 2014 WWDC: Непрерывная Интеграция с Xcode 6, обходами посредством процесса создания робота с XCode.
Следующее видео, также выбранное с 2014 WWDC: Непрерывная Интеграция с Xcode 6, демонстрирует, как интеграция робота инициировала работу.
Следуйте за методами наиболее успешной практики
Для использования в своих интересах непрерывной интеграции в потоке операций разработки продукта следуйте этим инструкциям:
Разработайте наборы тестов и тестовые сценарии. После разработки тестов включайте их в схемы Ваших роботов для выполнения. Чтобы помочь гарантировать, чтобы изменения Вы сделали, не повреждаются Вами или другими позже, дополняют те изменения тестами, определяющими, функционируют ли метод или ряд методов, используемых в последовательности, как предназначено.
Выполните статический анализ. Включайте статический анализ в свою интеграцию. Статический анализ является глубоким исследованием Вашего кода, после путей выполнения кода, за которыми Ваше приложение может не следовать во время нормальной разработки. Этот процесс раскрывает дефицитные ошибки кодирования и также идентифицирует области в Вашем коде, не следующие за рекомендуемым использованием API, таким как идиомы AppKit и Основа.
Тестирование производительности поведения. Сконфигурируйте XCode для выполнения тестов производительности для приложений на многократных устройствах. Это позволит Вам отслеживать свою производительность и идентифицировать потенциальные проблемы передняя сторона, прежде, чем распределять Ваш продукт пользователям.
Гарантируйте, что Ваш продукт создает и упаковывается правильно. Заархивируйте свой продукт после внесения существенных изменений, особенно структурных изменений, таких как добавление или удаление файлов. Позвольте своему архиву роботов для Вас автоматически. Возможность создать и заархивировать Ваш продукт является основным индикатором правильности Ваших изменений кода.
Для получения дальнейшей информации на обширных возможностях тестирования в XCode, обратитесь к Тестированию с XCode.