От заказа до первой сборки

Подключите облачный Mac
к рабочему процессу разработки

Это руководство охватывает подготовку, выбор одной из двух конфигураций выделенного физического Mac, четыре узла, первый вход по SSH и проверку сборки Xcode. Выполняйте шаги по порядку.

2 конфигурации 4 узла SSH и графический интерфейс
Сингапур Токио Сеул Гонконг
Подготовка Аккаунт, открытый ключ SSH и требования к инструментам
Получение Ориентируйтесь на время подтверждения в панели управления
Проверка Проверка подключения, системы и сборки
Шаг 01 · Проверка перед началом

Заранее подготовьте данные подключения и требования к инструментам

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

Аккаунт панели управления

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

Критерий готовности: страница аккаунта открывается

Открытый ключ SSH

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

Критерий готовности: отпечаток ключа зарегистрирован

Версия Xcode

Определите целевую версию Xcode по проекту, конфигурации CI и зависимостям, а также зафиксируйте минимальную версию macOS. Не пишите просто «последняя версия» — укажите проверяемый номер.

Критерий готовности: матрица версий подтверждена

Права доступа к репозиторию

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

Критерий готовности: границы чтения и записи определены

Клиент удалённого рабочего стола

Если нужны графические операции, заранее подготовьте клиент VNC или общего доступа к экрану macOS. Для автоматизации, диагностики и работы с файлами в первую очередь используйте SSH, снижая зависимость от графической сессии.

Критерий готовности: способ подключения выбран
Шаг 02 · Выбор тарифа и узла

Выберите одну из двух конфигураций по параллельной нагрузке, рабочему набору и сроку аренды

Обе конфигурации используют физические узлы Apple Silicon с выделенным физическим Mac, а не виртуальные машины. В каталог входят Сингапур, Токио, Сеул и Гонконг; фактическая доступность определяется в реальном времени панелью при оформлении заказа.

Базовая сборка

ZoomMini M4 Core

M4 · 16 ГБ RAM · SSD 256 ГБ

$20.7 в день
День $20.7 Неделя $56 Месяц $103.7 Квартал $282.1

Подходит для одного конвейера сборки iOS, обычной компиляции macOS, проверки зависимостей и постоянно работающего лёгкого self-hosted runner.

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

География узлов

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

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

  • СингапурПодходит для командной работы и сборок в Юго-Восточной Азии
  • ТокиоПодходит для доступа команд из Японии и соседних регионов
  • СеулПодходит для рабочих процессов в Корее и Северо-Восточной Азии
  • ГонконгПодходит для совместной работы в Южном Китае и Юго-Восточной Азии
Сроки и дополнительные опции

Проверьте полную конфигурацию до оплаты

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

+1 ТБ SSD
День $2.9 · Неделя $7.7 · Месяц $14.3 · Квартал $38.9
+2 ТБ SSD
День $5.8 · Неделя $15.4 · Месяц $28.6 · Квартал $77.8
Объединение Thunderbolt 5
За устройство: день $1.9 · неделя $5.2 · месяц $9.6 · квартал $26.1
Шаг 03 · Оплата

Завершите оплату по деталям заказа в USD

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

USDT-TRC20

Сверьте сеть, сумму и идентификатор заказа с данными оплаты в панели. Перед переводом убедитесь, что используется сеть TRC20, а после отправки сохраните запись транзакции для сверки.

Валюта расчёта: USD

Visa / Mastercard / Amex

Оплата картой обрабатывается через Stripe. После возврата со страницы оплаты проверьте в панели статус заказа и сумму счёта; не считайте страницу возврата в браузере подтверждением выдачи устройства.

Валюта расчёта: USD
01Проверьте конфигурацию

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

02Проверьте срок

Убедитесь, что выбран день, неделя, месяц или квартал, и не перепутайте тестовый срок с длительной арендой.

03Проверьте узел

Убедитесь, что Сингапур, Токио, Сеул или Гонконг соответствует плану подключения.

04Проверьте дополнительные опции

Проверьте расширение SSD и количество объединений Thunderbolt 5, затем выполните оплату.

Фактически доступный платёжный шлюз определяется панелью управления. Завершённая оплата ещё не означает, что устройство уже доступно для подключения: проверьте статус заказа и данные получения.

Шаг 04 · Получение данных

Используйте запись об устройстве в панели как основание для подключения

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

Данные получения

Шесть полей, которые нужно проверить перед первым подключением

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

Состояние устройства
Убедитесь, что в записи явно указана доступность подключения, и только после этого запускайте SSH или графическую сессию.
Узел
Проверьте, что выбран Сингапур, Токио, Сеул или Гонконг — тот же узел, что и при оформлении заказа.
Адрес подключения
Скопируйте назначенные адрес хоста и порт, чтобы избежать ошибок при ручном вводе.
Данные аккаунта
Уточните назначенное имя пользователя, порядок обработки первоначальных учётных данных и разрешённые протоколы подключения.
Начало аренды
Используется для подтверждения момента начала услуги и должно совпадать с записью заказа.
Окончание аренды
Используется для планирования продления, архивации артефактов, вывода данных и отзыва прав.

Подключение пока недоступно

Продолжайте проверять статус заказа в панели. Срок получения определяется временем подтверждения в панели; не пытайтесь многократно подключаться по ещё не выданному адресу.

Проверить статус в панели

Нужна проверка полей

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

Отправить обращение через панель
Шаг 05 · Первое подключение

Сначала проверьте отпечаток хоста, затем сведения о системе

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

first-connection · zsh
$ export ZOOMMINI_HOST=assigned-host
$ ssh-keyscan -t ed25519 "$ZOOMMINI_HOST" | ssh-keygen -lf -
256 SHA256:7qV3mL9kR2nF4cX8 assigned-host (ED25519)

$ ssh build@"$ZOOMMINI_HOST"
Last login: remote session
build@zoommini-node ~ %

$ sw_vers
ProductName:            macOS
ProductVersion:         15.2
BuildVersion:           24C101

$ system_profiler SPHardwareDataType
Hardware:
    Model Name: Mac mini
    Chip: Apple M4
    Memory: 16 GB

$ uname -m
arm64
01

Скопируйте адрес подключения из панели

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

02

Отдельно проверьте отпечаток хоста

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

03

Проверьте систему и оборудование

sw_vers используется для проверки версии macOS,system_profiler для проверки чипа и памяти,uname -m должна вернуть arm64.

Шаг 06 · Проверка сборки

Три команды покажут, готова ли цепочка инструментов к конвейеру

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

Проверка 01 Проверьте версию Xcode
$ xcodebuild -version
Xcode 16.2
Build version 16C5032a
Критерий успеха

Версии Xcode и сборки соответствуют матрице проекта, код выхода команды равен 0.

Проверка 02 Выполните сборку проекта
$ xcodebuild -scheme App build
Prepare packages
CompileSwiftSources normal arm64
Ld App normal arm64
** BUILD SUCCEEDED **
Критерий успеха

В конце вывода появляется BUILD SUCCEEDED, при этом отсутствуют ошибки подписи, зависимостей или свободного места на диске.

Проверка 03 Запустите автоматические тесты
$ fastlane ios test
Resolving Swift Package Manager dependencies
Test Suite 'All tests' passed
Executed 48 tests, with 0 failures
fastlane.tools finished successfully
Критерий успеха

Количество тестов соответствует ожиданиям, число ошибок равно 0, fastlane завершился штатно, а код выхода процесса равен 0.

Несовпадение версий

Сначала выполните xcode-select -p чтобы узнать текущий каталог разработчика, затем переключите его по матрице версий команды. Не изменяйте файлы проекта, пытаясь обойти проблему версии.

Ошибка разрешения зависимостей

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

Сбой на этапе подписи

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

Шаг 07 · Защита после получения

После успешной сборки замените временный доступ постоянной конфигурацией

Успешная приёмка означает только то, что цепочка инструментов работает. Перед подключением к CI/CD обновите учётные данные, настройте открытые ключи, отзовите лишние права и задайте runner минимальные разрешения.

01

Обновите учётные данные

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

Способ проверки Выйдите из текущей сессии и войдите снова, убедившись, что старые учётные данные больше не действуют.
02

Настройте открытые ключи SSH

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

Способ проверки Поочерёдно протестируйте авторизованные ключи и зафиксируйте ответственного и план ротации для каждого.
03

Удалите ненужные права доступа

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

Способ проверки Проверьте авторизованные ключи, группы пользователей, элементы автозапуска и записи регистрации runner.
04

Ограничьте права CI runner

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

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

Итоговый чек-лист приёмки

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

  • Узел и срок аренды зафиксированы
  • Отпечаток хоста проверен
  • Версия Xcode подтверждена
  • Сборка и тесты пройдены
  • Минимальные права действуют

Подключите первый конвейер сборки

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