2. Что такое непрерывная интеграция
Сложно:
Непрерывная интеграция (англ. Continuous Integration) - практика разработки ПО, при котором
осуществляется автоматизированная сборка продуктов для выявления интеграционных
проблем.
Просто:
Непрерывная интеграция - сборка проекта в один клик.
3. Существующие решения
● Hudson
● CruiseControl
● TeamCity
● FastBuilder
Цель:
Создать систему для сборки проектов под различные платформы (web + mobile). С
возможностью непрерывного тестирования.
Используемое нами решение
Hudson + Git + Publisher (Python + Django)
Hudson - опрос репозиториев, выполнение сборки
Git - хранения исходного кода и сборок
Publisher - внутренний web-портал для доступа к сборкам и получение информации о них
4. Основные функции созданного решения
Git
- хранит исходный код
- хранит последовательность сборок
Publisher:
- Права пользователей на доступ к сборкам
- Информация о сборках
- Возможность скачать, запустить, протестировать сборки
6. Сборка проектов различных типов
Сборка iOS Сборка Android Сборка Web
Сборка xCode проекта
xcodebuild
Обновления ant сценария
для библиотек и проекта
android update project
Архивация проекта в zip
архив
Подписывание
приложения
с помощью xcrun
Запуск ant сценариев
ant debug
Обновление ipa файла Обновление apk файла Обновление zip файла
7. Публикатор сборки
- Авторизация пользователей
- Обновление ссылок на сборки по запросу из Hudson'а
- Генерация сертификата установки (*.plist) для iOS проекта
- Генерация ссылки для web проекта