Как стать автором
Обновить

Комментарии 23

Разработчики делают комиты только с мажорными изменениями?
Или каждую мелочь, что закомитили тестер перетестирует?
Ну и как-то тестеру при этом сообщается, что поменялось в билде?
Ответ на первые два вопроса есть в тексте.
Для запуска сборки проекта в автоматическом режиме у нас настроен onAfterCommit-хук, который проверяет в комментарии к коммиту наличие тэга “READY”, которым разработчик помечает версию, готовую к сборке и передаче в QA.
Пардон — бегло читал, пропустил этот момент.
хм, почему бы по тегам не деплоить?
Кстати, AirOnApp поддерживает тегирование билдов.
Это уже тэгирование собранных билдов, а мы ищем тэг в commit message и запускаем сборку только тех ревизий, которые разработчики обозначают готовыми к QA.

Тэги в AirOnApp удобны для сохранения истории релизов-апдейтов в стор, чтобы QA могли проверифицировать, например, сохранение прогресса при выходе апдейта.
elmm, нам, как издателю, не особенно интересна вся история изменений разработки проекта, а важны майлстоуны.
Для непосредственных коммуникаций между QA и разработчиками у нас есть Jira.
Сервис развернут на нашей серверной площадке в офисе, что избавляет нас от внешнего трафика


я что-то у них на сайте не нашел возможности инсталляции на свой сервер. да и посылка в аппстоп у них помечена как «soon». где смотреть? :)
Soon — это комментарий именно к гайдам, некоторые из них еще не выложены (про аппстор уже выложили, кстати). Сам сервис полностью функционален!

По поводу установки на свой сервер нужно написать напрямую, и вам все ответят :) Нужно заметить, что это версия для enterprise, то есть для больших объемов данных и трафика, зато с возможностью настройки под заказчика.
Ну я тоже один раз писал bash-скрипт для деплоя на testflight.

Хотя, заиметь свой сервер было бы неплохо, учитвая лаги testflight.
Это не совсем точное сравнение. TestFlight изначально предназначен исключительно для тестирования и работает только с готовыми билдами. Без СДК это просто удобная дистрибуция по сети тестеров с помощью технологии OTA. C СДК добавляются возможности разного трекинга во время тестирования и после релиза приложения.

В свое время мы сами реализовали OTA рассылку простым скриптом к билд-серверу. AirOnApp же автоматизирует многие трудоемкие процессы, работая напрямую с бинарными файлами. Например, ни один ресурс на рынке не осуществляет переподписывания (re-codesign) билдов любым профилем на лету, что позволяет вам не бегать к разработчику каждый раз, когда появляется новый девайс и его надо внести в профиль. Так же есть возможность редактирования файла info.plist онлайн(!), без участия xcode и билд-сервера. Ну и упомянутая публикация в App Store очень удобна.

Установкой на свой сервер, скорее всего, стоит озаботиться тем, кто работает с большими объемами данных, и сам трафик перегонки билдов будет слишком большим (это как раз случай Алавара).
да, пожалуй стоит попробовать, спасибо!
bash-скрипт — это только часть всей системы сборки, которая непосредственно запускает XCode.
Для небольшого парка девайсов и 5-10 приложений в разработке можно вообще ограничиться простейшим набором bash и php скриптов, которые будут собирать IPA, генерить для нее манифест и ссылку для OTA-установки.
Очень интересный рассказ! Большое спасибо за статью! Про AirOnApp не знал вообще).
Четкую схему версионирования проектов. С этой схемой любой участник процесса всегда знает, какая именно версия приложения установлена на устройство, в какой версии обнаружен баг и т.д.

Какую? Можно по подробней?

И почему вы не используете XCode Plugin для Jenkins? Вчера вот его поставил, и сразу прицепил iOS проект к общей схеме. Только щас думаю как туда передать нашу версию.
И сразу один секрет, если вы будите делать сборку на Slave который подключается по SSH, то сборка xcodebuild по SSH требует заранее разблокированного keychain. Что как раз настраивается в этом плагие.
XCode-плагин не используем, т.к. когда мы только начинали все это разворачивать, уткнулись в две проблемы:
1. не было возможности явно сказать xcode-у какими сертификатом и провиженом подписывать билд, а с командной строки — легко
2. не было возможности выбирать версию xcode
Возможно в текущей версии плагина это уже решено, не уточнял.

Схема версионирования у нас достаточно проста — при сборке мы к маркетинговой BundleVersion добавляем номер ревизии (было 1.0, делаем 1.0.39).
2. не было возможности выбирать версию xcode
Возможно в текущей версии плагина это уже решено, не уточнял.

Не решено. Можно указать путь до SDK но не версию xcode.

Как вариант можно делать перед непосредственно сборкой Xcode, выполнении shell задачи где явно для каждого проекта указывается xcode-select -switch. Но так сказать шило на мыло :)
Напишите когда подумаете о современных VCS :)
Там, где у нас идет разработка, мы используем DVCS, а для решения задачи «принять версию исходников от внешней студии разработки, с которыми мы ничего кроме компиляции не делаем», Subversion-а хватает за глаза и по уши.
Внешние разработчики вольны использовать в своих студиях какие угодно СКВ, а нам достаточно только принять у них слепок, фиксирующий майлстоун.
Смотрим ответ выше пользователю Sannis и убираем фейспалм.
И вот что пришло от Apple после одного дня радости с AironApp:

Your Distribution Certificate Has Been Revoked

Dear Danil Pismenny,
You have revoked your Distribution Certificate and it is no longer valid. Please note that all Provisioning Profiles that included this certificate are now invalid and will require regeneration for future use.
Best regards,

Apple Developer Program Support
А вы Apple Account на Айронаппе автоматически конфигурировали? В таком случае система просто сгенерировала новый сертификат взамен того, что у вас уже был. Ничего страшного, собственно, не произошло. Сертификат, если что, можно скачать прямо с Айронаппа, со страницы Apple Account.
Чтобы обойтись без обновления сертификата, следует использовать ручную настройку аккаунта (manual configuration), от вас попросят загрузить приватный ключ и ввести пароль от него.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий