Памятка для инженера по сборке

Мы делаем только одно:
собираем iOS без ожидания свободного Mac

OSXBuild — это выделенные облачные Mac для сборки iOS. Вы получаете целый физический компьютер, а не виртуальную машину. Вы управляете кодом, инструментами и подписью, а мы размещаем Mac на узлах, доступных в аренду по мере необходимости.

Две конфигурации · шесть физических узлов · $20.1в день

Решение — не просто купить ещё один Mac

Mac mini в офисе
не должен быть единственным звеном в процессе релиза

Сложности с собственной машиной для сборки обычно начинаются не при первом архивировании, а перед следующим релизом: останутся ли машина, кеш и ресурсы для подписи в прежнем состоянии?

После отключения питания задачу некому продолжить

Офисная машина зависит от условий на месте. Отключение электричества или сети может остановить удалённую задачу до архивирования. Если вы не в офисе, сначала нужно попросить кого-то проверить компьютер, а потом разбираться с логами сборки.

Мы переносим узлы сборки из офиса. Они стабильно работают 365 дней в году, а состояние и сведения о передаче доступны в панели управления.

Общий компьютер — очередь на релиз

Отладка, тестирование в симуляторе и архивирование для релиза конкурируют за одну машину. Команде приходится решать, чья задача запускается первой и кто очистил кеш. Даже после успешной сборки бывает сложно понять, почему зависимости пришлось скачивать заново.

Выделенный узел не делит CPU, память и диск с другими клиентами. Настраивайте runner под потребности команды — не ждите, пока завершатся чужие задачи.

Сертификаты разбросаны, передача держится на устных инструкциях

Сертификаты, профили, настройки экспорта и скрипты хранятся на разных компьютерах — и процесс релиза легко превращается в дело, известное только одному сотруднику. При смене машины приходится заново настраивать и процесс.

Мы рекомендуем хранить конфигурацию сборки в системе контроля версий, а ресурсы для подписи — в защищённой связке ключей или системе управления секретами. Не помещайте закрытые ключи в общий репозиторий.

Вот почему мы предлагаем только выделенные облачные Mac: не меняем за вас код приложения и не превращаем подпись в непрозрачный сервис. Мы предоставляем управляемый компьютер, на котором ваши существующие Xcode, Fastlane и CI-процессы получают стабильную среду.

Три принципа предоставления

Сначала определяем условия — затем предоставляем Mac

До заказа вы должны знать, что входит в аренду, как рассчитывается стоимость и где физически находится компьютер.

Один физический Mac — одному клиенту

Вы получаете выделенный Mac mini, а не виртуальную машину на общем хосте. Вы управляете системой, кешем сборки и очередью задач; задачи других клиентов на этом компьютере не запускаются.

Выделенный Mac не означает неограниченный параллелизм. Несколько ваших задач всё равно используют ресурсы одного компьютера. Сначала измерьте время одного архивирования, затем определите допустимую параллельность тестов.

Изоляция и обработка данных

Открытые цены и отдельные опции

Обе конфигурации доступны с оплатой за день, неделю, месяц или квартал. Базовая конфигурация и дополнительные SSD или Thunderbolt 5 для параллельного подключения указаны отдельными позициями — полный список не подменяется расплывчатым понятием «стартовая конфигурация».

Оплата принимается только в долларах США. Перед заказом проверьте модель, узел, срок аренды, дополнительные опции и итоговую сумму. Доступные способы оплаты определяются по ответу платёжного шлюза.

Полный прайс-лист

Только шесть реально доступных узлов

Узлы — не точки на карте для красоты. Обе конфигурации доступны во всех шести физических узлах ниже. Фактическую доступность можно проверить в панели управления.

Мы не обещаем задержку соединения на основании географического расстояния. Для интерактивной разработки важен маршрут от вас до узла, а для автоматической сборки — также расположение репозитория, источников зависимостей и места получения артефактов.

Выбрать узел и заказать
Шесть физических узлов

Выберите узел под рабочий график команды

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

Сингапур

Для команд в Юго-Восточной Азии. Позволяет работать с проектом днём и запускать автоматическое архивирование ночью в одной среде, не разделяя конфигурации локальной машины и CI.

Часовой пояс узла
UTC+8

Токио

Для команд в Восточной Азии. Планируйте ночные сборки по местному рабочему календарю, чтобы к следующему дню архивы, экспорт и загрузка артефактов были готовы для тестирования.

Часовой пояс узла
UTC+9

Сеул

Для команд в Северо-Восточной Азии. Подходит разработчикам, которым нужно совместно разбираться с проблемами Xcode, симуляторов и подписи в одно и то же рабочее время.

Часовой пояс узла
UTC+9

Гонконг

Для команд в Южном Китае и Юго-Восточной Азии. При работе через удалённый рабочий стол проверьте качество изображения, разрешение и локальное соединение, прежде чем выбирать узел на длительный срок.

Часовой пояс узла
UTC+8

Восток США

Для команд на востоке Северной Америки и в Западной Европе. При передаче задач между регионами указывайте часовой пояс явно, чтобы переход на летнее время не смещал расписание.

Часовые пояса для совместной работы
UTC−5 / −4

Запад США

Для команд на западном побережье Северной Америки. Синхронизируйте удалённую разработку и дежурства по релизам с местным рабочим временем; команды в других регионах заранее согласуют, где передавать логи и артефакты.

Часовые пояса для совместной работы
UTC−8 / −7

Часовой пояс в США меняется в зависимости от перехода между стандартным и летним временем. Для автоматических задач указывайте часовой пояс явно. Имя хоста, порт и данные для подключения смотрите в панели управления. Описание узлов не заменяет проверку реального соединения.

Впечатления пользователей

Меньше места в офисе — больше возможностей для передачи задач

Команде важно не то, где стоит компьютер, а то, можно ли в следующий раз собрать проект в привычной среде.

«После перехода на OSXBuild нам больше не нужно искать место для компьютера сборки в офисе».

Руководитель разработки

«Узел в Гонконге близко к нам — интерфейс Xcode плавно работает в удалённом рабочем столе».

Независимый iOS-разработчик

Реальная работа через удалённый рабочий стол зависит от локальной сети, расстояния до узла и настроек качества изображения. Перед переносом проверьте на своём проекте соединение, загрузку зависимостей и полное архивирование, а затем выберите срок аренды.

Для кого подходит — и где проходят границы

Перенесите повторяющиеся задачи на выделенный Mac

Мы предоставляем вычислительную среду, но не настраиваем за вас проект. Команда по-прежнему отвечает за исходный код, версии зависимостей, права подписи и резервное копирование артефактов.

Разработчикам iOS и macOS

Для работы с графическим интерфейсом macOS и командной строкой: используйте Xcode, запускайте симуляторы, архивируйте и экспортируйте приложения в удалённой среде. Для небольших сборок можно начать с M4 / 16GB / 256GB и проверить, подходит ли конфигурация.

При первом переносе выровняйте версии Xcode и lock-файлы зависимостей, выполните чистую сборку и только потом постепенно восстановите кеш. Не считайте случайно работающие локальные пути конфигурацией команды.

Как подключиться и перенести сборку

Командам CI/CD

Для выделенного runner, сохраняемого кеша зависимостей и управляемого процесса подписи. Подключите существующие GitHub Actions, GitLab Runner или Jenkins и передавайте артефакты сборки по установленным правилам.

Сначала зафиксируйте базовые показатели одной задачи: время архивирования, занятое место на диске и потребление ресурсов тестами. Затем увеличивайте параллельность. Успешная сборка — ещё не готовая поставка: экспорт, загрузку и проверку тестовой группой тоже включите в конвейер.

Выбрать конфигурацию под объём сборок

Для экспериментов с ИИ на Apple Silicon

Для проверки загрузки моделей, инференса и совместимости инструментов в настоящей среде Apple Silicon с MLX или llama.cpp. M4 Pro / 64GB / 2TB — отправная точка для задач с повышенными требованиями к памяти.

Возможность запустить модель зависит от размера весов, метода квантования, длины контекста и накладных расходов среды выполнения. Сначала проверьте свою модель и данные, затем решите, нужно ли увеличивать число компьютеров.

Расскажите о своих задачах

Перед окончанием аренды сохраните нужные данные

Скопируйте исходный код, скрипты, IPA, логи и другие нужные материалы в место, которым вы управляете. После окончания аренды диск безопасно стирается, а система устанавливается заново — не храните единственную копию данных на диске узла. Продление аренды, заказы и счета доступны в панели управления. Если возникнут вопросы, войдите в систему и создайте обращение в поддержку или напишите на адрес support@osxbuild.com.

Следующую сборку можно выполнить в облаке

Выберите модель, срок аренды и узел, затем проверьте на своём проекте полное архивирование. Если у вас вопросы по массовым сборкам или переносу, расскажите об объёме задач и версиях инструментов.