Путь первого запуска

От выбора узла до первой успешной сборки

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

01 Подтвердить назначение и конфигурацию
02 Проверить данные поставки
03 Перенести данные и запустить сборку
04 Принять результат и завершить настройку безопасности
Подготовка

Сначала зафиксируйте шесть параметров, затем выбирайте машину

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

Рабочий процесс и регион

Укажите основную задачу: сборка Xcode, self-hosted runner, локальный вывод моделей или обработка медиа. Затем выберите ближайший к команде или зависимым сервисам узел: Сингапур, Токио (Япония), Сеул (Южная Корея) или Гонконг.

Результат проверки Для задачи и целевого региона определён однозначный вариант

Модель и срок аренды

Для краткосрочной адаптации и лёгких сборок можно рассмотреть BookaMac M4; для параллельных задач с большим объёмом памяти, вывода моделей и тяжёлой обработки медиа — BookaMac M4 Pro. Срок аренды доступен на день, неделю, месяц или квартал.

Результат проверки Чип, память, накопитель и расчётный период зафиксированы

Клиент подключения и открытый ключ SSH

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

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

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

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

  • Подтвердите, что вся сумма рассчитывается в долларах США (USD).
  • Убедитесь, что регион соответствует сетевому маршруту команды и расположению зависимых сервисов.
  • Убедитесь, что срок аренды покрывает настройку окружения, выполнение задач и перенос данных.
  • Дополнительное хранилище или объединение через Thunderbolt 5 проверяйте отдельно в заказе.
Лёгкие и краткосрочные задачи

BookaMac M4

$21.5/день
Чип
M4
Память
16GB
Накопитель
256GB SSD
Выбрать BookaMac M4
Рабочие процессы с большим объёмом памяти

BookaMac M4 Pro

$59.2/день
Чип
M4 Pro
Память
64GB
Накопитель
2TB SSD
Выбрать BookaMac M4 Pro
Получение и проверка

Перед подключением сверьте все данные поставки

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

ПРОВЕРКА ПОСТАВКИ

Чек-лист проверки поставленного узла

Требуется подтверждение пользователя
A

Регион узла

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

B

Конфигурация устройства

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

C

Адрес подключения

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

D

Инструкции по первоначальному доступу

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

Путь переноса

Продвигайтесь по трём этапам: данные, инструменты и CI

Для каждого шага определите входные данные, действия и результат проверки. Если предыдущий шаг не пройден, не переносите на узел новые репозитории, учётные данные или задачи.

  1. 01 Этап данных

    Синхронизируйте только нужные задаче репозитории и ресурсы

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

    Входные данные
    Адрес репозитория, целевой коммит, список ресурсов
    Действия
    Загрузить, проверить хеш, проверить права доступа к файлам
    Условие прохождения
    Код и необходимые ресурсы на месте, лишние данные не перенесены
  2. 02 Этап инструментов

    Воспроизведите версии Xcode, зависимостей и команд

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

    Входные данные
    Базовая версия Xcode, lock-файл, скрипт сборки
    Действия
    Выбрать набор инструментов, восстановить зависимости, выполнить чистую сборку
    Условие прохождения
    Версии совпадают с базовой конфигурацией, минимальная целевая сборка успешна
  3. 03 Этап CI

    Зарегистрируйте runner и запустите проверочную задачу

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

    Входные данные
    Данные регистрации runner, метки, проверочная задача
    Действия
    Зарегистрировать, изолировать каталог, запустить тестовый пайплайн
    Условие прохождения
    Задача выполняется повторно, код завершения и путь к артефактам однозначны
Первая сборка

Несколькими короткими командами проверьте подключение, инструменты и окружение публикации

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

  • Перед первым SSH-подключением проверьте отпечаток хоста и не пропускайте предупреждения.
  • Сначала прочитайте текущий каталог разработчика, затем решайте, нужно ли переключать Xcode.
  • При первой сборке сохраните полный журнал и код завершения, а не только последние строки.
  • Проверка окружения fastlane должна подтверждать только доступность конфигурации и не запускать публикацию.
Открыть документацию по подключению и сборке
first-build.session
$ ssh build@203.0.113.24
The authenticity of host is confirmed.
Connected to dedicated Mac node

$ xcode-select -p
/Applications/Xcode.app/Contents/Developer

$ xcodebuild \
  -workspace Sample.xcworkspace \
  -scheme Sample \
  -configuration Debug \
  build
** BUILD SUCCEEDED **

$ bundle exec fastlane env
System Locale: zh_CN
Xcode Path: /Applications/Xcode.app
Environment check completed
Доступ через графический интерфейс

Используйте удалённый рабочий стол только для задач с графическим интерфейсом

Для повседневной автоматизации отдавайте предпочтение SSH; когда нужно открыть интерфейс Xcode, симулятор или графические инструменты, подключайтесь через VNC-клиент.

01 / Клиент

Настройте подключение по параметрам поставки

Используйте доверенный VNC-клиент и укажите адрес, порт и учётные данные со страницы поставки. Не экспортируйте настройки подключения в общую синхронизируемую папку и не разрешайте клиенту постоянно сохранять общие учётные данные.

02 / Экран

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

При первом подключении начните с умеренного разрешения и качества цвета. При заметной задержке сначала снизьте качество изображения и проверьте локальную сеть; не смешивайте время сборки с задержкой обновления экрана.

03 / Буфер обмена

Копируйте только необходимые несекретные тексты

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

04 / Выход

При бездействии завершайте сеанс и блокируйте интерфейс

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

Приёмка первой задачи

Определите готовность узла по воспроизводимому результату

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

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

ПРОЙДЕНО 01

Загрузка кода

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

ПРОЙДЕНО 02

Установка зависимостей

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

ПРОЙДЕНО 03

Артефакты сборки

Указанная цель успешно собрана; расположение, размер и способ создания артефактов можно отследить.

ПРОЙДЕНО 04

Хранение журналов

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

ПРОЙДЕНО 05

Сетевой доступ

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

Чек-лист безопасности после поставки

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

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

Заменить временные учётные данные

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

Включить вход по ключу

Используйте отдельный открытый ключ SSH, проверьте authorized_keys и ограничьте права локального файла закрытого ключа.

Ограничить общие учётные записи

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

Удалить ненужные файлы

Удалите тестовые архивы, временные загрузки, устаревший кэш и копии неиспользуемых учётных данных; проверьте оставшееся место.

Зафиксировать изменения окружения

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

Подготовить план выхода

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

Готовы начать

Выберите конфигурацию и выполните первый запуск по чек-листу

Заказы, продление аренды и управление хостом выполняются в консоли. Поддерживаются только USDT-TRC20 и Visa / Mastercard / Amex (через Stripe); расчёт ведётся в долларах США (USD), а фактически доступный платёжный шлюз определяется ответом серверной части.