Руководство по подключению к Mac

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

На этой странице удалённый рабочий стол, SSH, репозиторий, self-hosted Runner и передача файлов настроены в практическом порядке. Сначала проверьте узел и учётные данные, затем параметры клиента; при проблемах последовательно проверяйте симптомы и не используйте принудительное отключение как обычный способ исправления.

Обычное время подготовки
Около 4 минут
Доступные каналы
Удалённый рабочий стол и SSH
Тип узла
Выделенный физический компьютер, не ВМ
ПЕРЕДАЧА СЕАНСА Данные удалённого сеанса
Проверено
Заказ и узел Сначала сверьте с данными консоли
  1. 01
    Проверьте данные доступа

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

    Проверка
  2. 02
    Установите первый сеанс

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

    Подключение
  3. 03
    Обновите временные данные

    Сразу после первого входа обновите их и сохраните новые данные в одобренном командой защищённом хранилище.

    Обновление
  4. 04
    Включите канал разработки

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

    Готово
Начать подключение

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

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

Чек-лист первого подключения

Данные доступа должны соответствовать одному физическому узлу

Адрес доступа
Используйте полный адрес хоста из данных заказа. Не копируйте старый адрес из переписки или документов предыдущего проекта.
Имя учётной записи
Учитывайте регистр символов и знаки. После вставки проверьте пробелы в начале и конце, чтобы клиент не включил их в поле.
Временные данные
Используются только для первого входа. Сразу после подключения обновите их и не записывайте временное значение в репозиторий, журнал сборки или общий документ команды.
Код узла
Код узла нужен для определения маршрута подключения и обращения в поддержку. Это не имя учётной записи; не вводите его в поле пароля.
Удалённый рабочий стол

VNC и системный удалённый доступ: выберите подходящий вариант

Используйте удалённый рабочий стол для полноценного графического интерфейса, работы с проектом Xcode или творческими приложениями; для скриптов, проверки сборки и передачи небольших наборов файлов выбирайте SSH. Чем меньше ненужных графических сеансов, тем ниже нагрузка на взаимодействие при слабой сети.

Сравнение способов и параметров подключения к Mac
Способ подключения Подходящие задачи Подготовка перед подключением Параметры клиента Завершение сеанса
Удалённый рабочий стол VNC Графический интерфейс Xcode, просмотр симулятора, Logic Pro, Final Cut Pro и обычная работа с рабочим столом Проверьте адрес доступа, порт, имя учётной записи и текущие данные; закройте повторные сеансы той же учётной записи Начните с адаптивного качества изображения и системного разрешения; при слабой сети постепенно снижайте качество цвета и частоту кадров Сохраните проект и закройте приложение, затем корректно выйдите из системного сеанса; не закрывайте задачу, записывающую файлы
Системный удалённый доступ macOS Единый клиент команды, рабочее место с фиксированным разрешением и длительные задачи на рабочем столе Убедитесь, что клиент поддерживает нужный протокол и локальный брандмауэр пропускает необходимые сетевые порты В поле имени хоста укажите адрес поставки, имя учётной записи оставьте без изменений; при первом подключении проверьте данные отпечатка хоста Сначала остановите экспорт, сжатие или синхронизацию, затем выйдите из системы; закрытие окна клиента не завершает фоновые процессы
Командная строка SSH Операции с репозиторием, скрипты сборки, управление Runner, просмотр журналов и задачи автоматизации Добавьте открытый ключ, убедитесь, что закрытый ключ хранится только на управляемом терминале, и сохраните отпечаток хоста узла Укажите имя пользователя, адрес хоста и порт; в скриптах автоматизации задайте разумный тайм-аут и проверку кода завершения Перед выходом из интерактивного сеанса убедитесь, что задача в переднем плане завершена; длительные задачи передайте управляемому процессу или Runner

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

Канал разработки

Разделяйте интерактивный вход и права автоматизации

Личная учётная запись удалённого рабочего стола, SSH-ключи и CI/CD Runner не должны использовать один набор долгосрочных данных. Раздельная настройка прав упрощает поиск причины сбоя сборки и позволяет отдельно отзывать доступ при изменении состава команды.

  1. 01

    Добавьте открытый SSH-ключ

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

    ssh -i ~/.ssh/team_build user@assigned-host
  2. 02

    Клонируйте репозиторий и проверьте область прав

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

    git clone <repository-url>
    git remote -v
  3. 03

    Проверьте инструменты командной строки Xcode

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

    xcode-select -p
    xcodebuild -version
    swift --version
  4. 04

    Зарегистрируйте self-hosted Runner

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

    ./config.sh --labels apple-silicon,macos,build
    ./run.sh
Файлы и артефакты

Работу на рабочем столе видно, автоматизацию нужно уметь безопасно завершать

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

Задачи на рабочем столе

Для ручной проверки и небольших передач

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

Для повторяющихся сборок и передачи крупных артефактов

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

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

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

ПОДКЛЮЧЕНИЕ

Не удаётся подключиться

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

Зафиксируйте тайм-аут или отказ в подключении
ЭКРАН

Задержка изображения или ввода

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

Запишите параметры сети и качества изображения
УЧЁТНЫЕ ДАННЫЕ

Данные доступа недействительны

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

Не отправляйте полные данные доступа
ХРАНИЛИЩЕ

Недостаточно места на диске

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

Запишите объём до и после очистки
СБОРКА

Процесс сборки прерван

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

Приложите последний фрагмент обезличенного журнала
Границы перезапуска и работы

Сначала выполните штатный перезапуск; принудительное отключение — только для не отвечающих узлов

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

Можно сделать самостоятельно

Штатный удалённый перезапуск

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

Сначала проверьте узел

Сеанс разорван, но хост доступен

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

Требуется помощь специалиста

Недоступны и рабочий стол, и SSH

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

Не запускайте перезапуск повторно и не отключайте питание принудительно.

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

Отправить обращение в поддержку

Начните обращение с воспроизводимых данных

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

Минимальный набор данных

  • Номер заказа: Для определения соответствующего выделенного физического узла.
  • Код узла: Укажите в точности так, как он отображается в консоли.
  • Время события: Укажите часовой пояс и время последнего штатного состояния.
  • Среда клиента: Операционная система, название и версия клиента, тип сети.
  • Шаги воспроизведения: Кратчайшая последовательность от открытия клиента до появления ошибки.
  • Обезличенный журнал: Сохраните код ошибки и контекст, удалите пароли, токены, закрытые ключи и рабочие данные.
Электронная почта поддержки support@vmoak.com
Выделенный физический узел Apple Silicon

Выберите облачный Mac для сборки, автоматизации или удалённой творческой работы

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