0
Rating
Touch Instinct
Разрабатываем мобильные приложения

Continuous Integration в XCode5

Touch Instinct corporate blogDevelopment for iOSDevelopment of mobile applications
В пятой версии XCode появился Continuous Integration. Он работает через XCode службу OS X Server ($20, AppStore).

XCode Service умеет все тоже что и любой Continuous Integration сервер, возможно чуть меньше. Огромный плюс — полная интеграция с XCode и свойственная Apple «работа из коробки». Я запустил авто-сборку проекта за полчаса, хотя раньше ни разу не настраивал CI сервер. И не нужно курить мануалы как правильно собирать приложение из командной строки, как включить эмулятор или запустить тесты на устройстве.

xcode continuos integration


XCode Service работу по автоматизации выполняют боты. Бот
  • Забирает проект из GitHub или SVN.
  • Проводит статистический анализ кода.
  • Собирает проект, для изборки используются общие схемы, они создаются через XCode и хранятся в репозитории.

  • Выполняет Unit тесты, unit тесты также встроены в XCode, тесты можно выполнить на любом устройстве подключенном к CI серверу и на любом установленном эмуляторе.

  • Оповещает о проваленной сборке или тестировании все кто комитил в репозиторий.


Сборка проекта запускается по времени, вручную или после каждого коммита.

Подробная инструкция по установке на сайте Apple.

Настройка занимает 30 минут. Очень порадовало, что все работает из коробки и интегрировано. Юнит-тесты и боты создаются в XCode, там же красивые отчеты о выполнении тестов и сборки.

И пара полезный рецептов.

Выгрузка в Test Flight


В пункте Archive схемы добавляем примерно такой Post-Action
curl http://testflightapp.com/api/builds.json
-F file=${BUILD_ROOT}/Debug-iphoneos/${FULL_PRODUCT_NAME}
-F api_token='your_api_token'
-F team_token='your_team_token'
-F notes='This build was uploaded via the upload API'
-F notify=True
-F distribution_lists='Internal, QA'


UI-тестирование


К сожалению, автоматизированное тестирование UI через стандартный UIAutomation нельзя запустить на build-сервере (ладно, вообще можно, но java script и его глюки сводят на нет преимущества).

Я рекомендую UI-тестирование через KIF. Он прозрачно встраивается в XCode Test Navigator и исполняется ботами.


Подписывайтесь на наш хабра-блог. Каждый четверг полезные статьи о мобильной разработке, маркетинге и бизнесе мобильной студии.
Tags:xcodecontinuous integrationiosbotsuiautomation
Hubs: Touch Instinct corporate blog Development for iOS Development of mobile applications
+15
12.4k 89
Comments 16

Top of the last 24 hours

Information

Founded
Location
Россия
Website
touchin.ru
Employees
51–100 employees
Registered