Skip to content

Latest commit

 

History

History
140 lines (92 loc) · 7.76 KB

workflows.md

File metadata and controls

140 lines (92 loc) · 7.76 KB

Виды сборок

1. In-house flow

Для кого: Бизнес, команда проекта, менеджер

Для чего: Позволяет всем быть в курсе текущего статуса работы над проектом, самостоятельно гонять новые фичи.

Что входит: Самые последние изменения

Из какой ветки: develop

Способ доставки: FTP

Ограничения: Собирается только последняя актуальная версия, нет возможности собрать определенный коммит. Доступна только из внутренней сети. Могут не работать фичи, связанные с bundle identifier.

Версионность: Не участвует в механизме версионности приложения, номер билда основного таргета не меняется.

Changelog: не собирается

Git-tags: inhouse/yyyy/MM/dd/HH-mm

Последовательность событий:

  • Checkout develop ветки
  • Подмена всех identifier'ов на enterprise-аналоги
  • Настройка Code Signing для основного таргета и extension'ов
  • Добавление бейджа на иконку
  • Сборка enterprise-версии приложения
  • Заливка на FTP в папку dev
  • Добавление и push тега
  • Уведомление через бота в Telegram-чат
  • Уведомление в канал проекта в Slack
2. Nightly flow

Для кого: Бизнес, команда проекта, iOS отдел, менеджер

Для чего: Позволяет без лишних действий получить доступ к относительно актуальной рабочей версии приложения.

Что входит: Последние изменения, произошедшие не позднее чем сегодняшняя ночь.

Из какой ветки: develop

Способ доставки: FTP

Ограничения: Собирается только автоматически, процессом управлять нельзя. Могут не работать фичи, связанные с bundle identifier. Доступна только из внутренней сети.

Версионность: Не участвует в механизме версионности приложения, номер билда основного таргета не меняется.

Changelog: не собирается

Git-tags: nightly/yyyy/MM/dd

Последовательность событий:

  • Checkout develop ветки
  • Подмена всех identifier'ов на enterprise-аналоги
  • Настройка Code Signing для основного таргета и extension'ов
  • Добавление бейджа на иконку
  • Сборка enterprise-версии приложения
  • Заливка на FTP в папку nightly
  • Добавление и push тега
  • Уведомление через бота в Telegram-чат
  • Уведомление в канал проекта в Slack
3. Testing flow

Для кого: Команда QA, полноценно принимающая участие в спринтах.

Для чего: Позволяет протестировать последние закрытые разработчиками фичи до момента code freeze и создания ветки release.

Что входит: Перечень задач, готовых для проведения тестирования.

Из какой ветки: develop

Способ доставки: Fabric

Ограничения: В сборке обязательно поставляются все задачи со статусом resolved в Jira.

Версионность: Номер билда инкрементится, номер версии не меняется.

Changelog: Все задачи, помеченные в коммитах с момента последнего тега testing/x.x.x.

Git-tags: testing/x.x.x/y

Последовательность событий:

  • Checkout develop ветки
  • Сквозное увеличение номера билда у основного таргета и всех extension'ов
  • Добавление бейджа на иконку
  • Прогон всего комплекта тестов
  • Сборка changelog'а, состоящего из списка Jira-тасков
  • Настройка Code Signing для основного таргета и extension'ов
  • Сборка adhoc-версии приложения
  • Определение групп тестировщиков, которым нужно раздать билд в Fabric
  • Заливка в Fabric
  • Создание commit'а с увеличением номера сборки
  • Добавление и push тега
  • Push всей ветки
  • Уведомление через бота в Telegram-чат
  • Уведомление в канал проекта в Slack
4. Staging flow

Для кого: Команда QA, бизнес.

Для чего: Представляет собой пререлизную версию приложения, готовую к проверке всех закрытых задач и регресс-тестированию. Любая из таких сборок готова уйти на публикацию в AppStore.

Что входит: Все задачи, заявленные для новой версии приложения.

Из какой ветки: release/x.x.x или hotfix/x.x.x

Способ доставки: Fabric и TestFlight

Ограничения: В Fabric сборка появляется сразу, в TestFlight - от часа до двух суток.

Версионность: Если это первая staging сборка с указанным номером версии, то он меняется. Номер билда увеличивается.

Changelog: Все задачи, помеченные в коммитах с момента последнего тега staging/x.x.x.

Git-tags: staging/x.x.x/y

Последовательность событий:

  • Ищется ветка вида release/version или hotfix/version. Если находится, происходит checkout. Если нет - создается новая ветка release/version.
  • Сквозное увеличение номера билда у основного таргета и всех extension'ов
  • Добавление бейджа на иконку
  • Прогон всего комплекта тестов
  • Сборка changelog'а, состоящего из списка Jira-тасков
  • Настройка Code Signing для основного таргета и extension'ов
  • Сборка release-версии приложения
  • Заливка в TestFlight
  • Определение групп тестировщиков, которым нужно раздать билд в Fabric
  • Заливка в Fabric
  • Создание commit'а с увеличением номера сборки
  • Добавление и push тега
  • Push всей ветки
  • Уведомление через бота в Telegram-чат
  • Уведомление в канал проекта в Slack