Отдельная машина для воспроизводимых сборок

Мы делаем одно:
обеспечиваем надёжный Mac для сборки iOS

OSXHost предоставляет облачные Mac на выделенных физических машинах. Перенесите Xcode, сертификаты подписи и задачи CI на отдельный Mac mini — и больше не зависите от офисного компьютера, который случайно оказался включён.

Аренда от одного дня, от $20.5 в день. Актуальная конфигурация и доступность отображаются в панели управления.

Начали с офисной сборочной машины

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

Когда-то мы сами обслуживали сборочные машины в офисе. Поэтому нам знакомы не абстрактные «задачи переноса в облако», а конкретные препятствия перед релизом.

Ночная задача прерывается, и только утром выясняется, что архив так и не собрался. Разработчик меняет рабочее окружение, но сертификаты и связка ключей переносятся не полностью. В ходе срочной очистки удаляются кеш и настройки, необходимые для следующих сборок. То, что компьютер включается, ещё не значит, что сборку можно повторить.

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

Идея OSXHost проста: выделить сборкам отдельный Mac, чтобы у проекта, инструментов и журналов выполнения было постоянное место. Выделенная машина задаёт границы ресурсов, а команда с помощью фиксации версий, управления сертификатами и скриптов автоматизации превращает сборку в отслеживаемый процесс.

Распределение ресурсов — не мелким шрифтом

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

Каждый Mac mini выделен одному пользователю. CPU, унифицированная память и диск не используются совместно с другими клиентами. Это не виртуальные машины.

Ресурсы закреплены за вами

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

Несколько задач на одной машине по-прежнему конкурируют за ресурсы. Проверяйте допустимую параллельность на своих проектах.

Настройте рабочую среду сами

Работайте в графическом интерфейсе macOS или командной строке, настраивайте Xcode, fastlane и зависимости проекта. Зафиксируйте версии и инициализацию окружения в скриптах, чтобы новые задачи запускались одинаково.

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

Выберите конфигурацию, затем срок

В каталоге три конфигурации: Host M4 Lite, Host M4 Plus и Host M4 Pro. Оцените потребность проекта в памяти, кеше и параллельных задачах, затем выберите срок аренды: день, неделя, месяц или квартал.

Сравнить 3 конфигурации

Пять узлов — простой подход к выбору

Учитывайте расположение команды и маршрут данных сборки.

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

SG · UTC+08:00

Сингапур

Подходит командам Юго-Восточной Азии для совместной работы в течение дня и синхронизации релизов по UTC+8.

Проверьте: загрузку зависимостей и передачу артефактов.

Доступно

JP · UTC+09:00

Япония (Токио)

Подходит командам в Японии для разработки, регрессионного тестирования и сборок в местные рабочие часы.

Проверьте: качество интерактивного подключения и график тестирования.

Доступно

KR · UTC+09:00

Южная Корея (Сеул)

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

Проверьте: синхронизацию ресурсов проекта и загрузку сборок.

Доступно

HK · UTC+08:00

Гонконг

Подходит командам, работающим по UTC+8: проверка сборок и передача релиза укладываются в один рабочий день.

Проверьте: подключение к узлу из сети вашей команды.

Доступно

US-W · UTC−08:00 / −07:00

Запад США

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

Проверьте: передачу задач между часовыми поясами и расписание автоматических запусков.

Доступно

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

Чёткие процедуры передачи

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

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

  1. 01

    Перед передачей
    Очистка и переустановка

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

  2. 02

    Во время аренды
    Диагностика и замена

    Если подозреваете аппаратную неисправность, создайте заявку в панели управления и укажите номер заказа, время возникновения и описание ошибки. После подтверждения неисправности мы заменим машину целиком. Восстановление окружения зависит от скриптов и резервных копий команды: замена машины не означает автоматического восстановления всех данных.

  3. 03

    После аренды
    Безопасное стирание

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

99.9% — гарантия доступности, а не отчёт о прошлых результатах.

При расчёте за 30 дней лимит простоя составляет около 43 минут. Превышение лимита компенсируется продлением сервиса на срок, соответствующий длительности сбоя. Подайте заявку в панели управления в течение 7 дней после устранения неисправности, указав номер заказа и период простоя.

Правила подачи заявки

Опишите задачу привычными словами

Машина работает в фоновом режиме, а в центре внимания — выпуск.

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

«Каждую неделю мы собираем игровые версии для международного рынка десятки раз. Хочу перенести эту работу на узел в Сеуле, чтобы команда занималась содержанием релиза, а не по очереди следила за офисной машиной».

Ведущий разработчик игрового клиента · пример задачи

«Мне важно, как быстро проходит сборка и насколько понятен счёт. Сначала проверю всё на своём проекте, потом решу, на какой срок арендовать машину. По завершении эксперимента заберу артефакты и не стану превращать временную аренду в постоянные расходы».

Независимый разработчик · пример задачи

Оценивайте сервис по проверяемым условиям

Понятные цены, обязательства и ограничения.

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

Понятные цены

Оплата заранее за день, неделю, месяц или квартал; расчёты ведутся в долларах США. Цены на конфигурации и дополнительные опции указаны отдельно: расширение хранилища и подключение устройств Thunderbolt 5 не скрываются в расплывчатой стартовой цене.

Доступны только USDT-TRC20 и Visa / Mastercard / Amex (через Stripe). Фактически доступные платёжные шлюзы определяются ответом серверного интерфейса.

Все цены

Понятные обязательства

Узлы работают круглогодично, 365 дней. Гарантия месячной доступности, расчёт лимита, срок подачи заявки и порядок компенсации описаны в правилах, а не сведены к обещанию без понятной процедуры.

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

Условия обслуживания

Понятные ограничения

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

Проектами и сертификатами на машине управляете вы; мы не обращаемся к их содержимому. Команде всё равно необходимо защищать учётные данные, фиксировать версии и создавать отдельные резервные копии.

Обработка данных

Поручите следующую сборку отдельной машине.

Сначала проверьте требования проекта к памяти, хранилищу и инструментам. Когда будете готовы, выберите Mac. Чтобы обсудить развёртывание для команды, напишите нам по электронной почте или создайте заявку в панели управления.