Центр поддержки облачного Mac

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

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

  • Диагностируйте VNC, SSH, Xcode и CI/CD отдельно
  • Укажите номер заказа, узел, время и полный контекст ошибки
  • Удаляйте ключи, токены и пароли подписи из логов
Диагностический тикет BUILD-SUPPORT
Подготовка к диагностике
01
Проверьте статус поставки Заказ, адрес узла и учётные данные должны совпадать
Базовый уровень
02
Разделите пути подключения Отдельно проверьте VNC, SSH и локальную сеть
Сетевой уровень
03
Сузьте круг переменных сборки Зафиксируйте scheme, версию Xcode и состояние зависимостей
Уровень инструментов
04
Сохраните контекст сбоя Запишите время, команду, логи и выполненные шаги
Уровень доказательств
Цель: сделать проблему воспроизводимой, локализуемой и готовой к дальнейшей обработке 4 уровня диагностики
Выберите тип проблемы

Шесть направлений поддержки — шесть точек начала диагностики

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

Удалённое подключение

Изображение и сеанс VNC

Проверьте чёрный экран, тайм-ауты, раскладку клавиатуры, буфер обмена и разрывы сеанса. Сначала сохраните название клиента, сетевой выход и время сбоя.

Сборка Xcode

Подпись, зависимости и архив

Проверьте сертификаты, профили provisioning, права Keychain, DerivedData, кэш зависимостей, свободное место и параметры экспорта.

CI/CD

Очередь runner и рабочий каталог

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

Сеть

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

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

Расширение хранилища

Оценка объёма и консультация по расширению

Сначала измерьте объём проектов, DerivedData, кэшей зависимостей, архивов и файлов моделей, затем уточните варианты +1TB, +2TB SSD или объединения устройств.

Биллинг

Период, дополнительные услуги и платёжные записи

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

Быстрая самопроверка за семь шагов

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

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

  1. 01

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

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

    Уровень заказа
  2. 02

    Проверьте адрес узла

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

    Уровень адресации
  3. 03

    Проверьте учётные данные

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

    Уровень доступа
  4. 04

    Перекрёстно проверьте клиент VNC

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

    Уровень рабочего стола
  5. 05

    Проверьте соединение SSH

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

    Сетевой уровень
  6. 06

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

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

    Уровень ресурсов
  7. 07

    Зафиксируйте версию Xcode

    Запишите фактически выбранные путь и версию Xcode. Убедитесь, что CI-скрипт и интерактивная сборка используют один toolchain, затем повторите неудачную команду.

    Уровень инструментов
Диагностика удалённого доступа

Разделяйте проблемы изображения, сети и ввода

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

Типичные симптомы удалённого доступа, первичные проверки и данные для тикета
Симптом Что сделать сначала Что записать Чего не делать
Чёрный экран VNC Дождитесь инициализации сеанса, установите соединение заново и проверьте, отвечает ли SSH. Название клиента, время, узел, результат проверки SSH и снимок чёрного экрана. Не выполняйте бесконечные принудительные переподключения и не удаляйте сразу системные или пользовательские настройки.
Тайм-аут подключения Повторите тест через другую локальную сеть, проверьте адрес и порт, различая тайм-аут разрешения адреса и аутентификации. Тип локальной сети, исходный текст ошибки, время начала и сбоя, результат теста через другую сеть. Не публикуйте в логах пароль, закрытый ключ или полные данные аутентификации.
Неправильная раскладка клавиатуры Сверьте локальную и удалённую раскладки, способ ввода и сочетания модификаторов; проверьте ввод в простом текстовом редакторе. Клиент, раскладка, проблемные клавиши и воспроизводимые шаги. Не судите только по сочетаниям IDE: сначала исключите собственные настройки клавиш приложения.
Буфер обмена недоступен Убедитесь, что клиент разрешает синхронизацию буфера, и отдельно протестируйте обычный текст и небольшой фрагмент. Направление копирования, тип содержимого, версия клиента и работает ли буфер в других приложениях. Не используйте ключи, токены или пароли подписи в качестве тестовых данных.
Сеанс прерван Запишите действия и длительность до разрыва, затем проверьте, работает ли SSH и не переключилась ли локальная сеть. Точное время, активное приложение, изменения сети, результат переподключения и связанные логи. Не перезапускайте задачу сборки многократно: это может изменить состояние ресурсов в момент сбоя.
Сбой сборки Xcode

Начинайте с первой достоверной ошибки, а не с последней строки

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

SIGN

Сертификаты и профили provisioning

Убедитесь, что bundle identifier, команда, тип сертификата и назначение профиля provisioning совпадают. Не смешивайте автоматическую и ручную подпись в одной цели без фиксации изменений.

  • Укажите проблемные target и configuration
  • Проверьте срок действия и область применения ресурсов подписи
  • Сохраните полный контекст ошибки codesign
KEYCHAIN

Права Keychain

Если интерактивная сборка успешна, а CI завершается ошибкой, проверьте доступ сеанса runner к нужным объектам подписи и различия прав в контексте задачи.

  • Сравните пользователя локального терминала и runner
  • Проверьте состояние связки ключей во время задачи
  • Удалите пароли подписи и конфиденциальные значения из логов
CACHE

DerivedData и кэш зависимостей

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

  • Запишите каталог кэша и стратегию попаданий
  • Зафиксируйте lockfile и версию менеджера зависимостей
  • Сохраните по одному логу сборки до и после очистки
DISK

Место на диске

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

  • Запишите свободное место на системном диске
  • Проверьте объём архивов и кэша по проектам
  • Перед очисткой определите, какие артефакты нужно сохранить
EXPORT

Архивирование и экспорт

Разделяйте сбой создания archive и сбой export. Для первого проверьте компиляцию и подпись, для второго — параметры экспорта, целевой канал и подпись в архиве.

  • Укажите, был ли успешно создан archive
  • Сохраните параметры экспорта и краткое описание ошибки
  • Убедитесь, что артефакт и scheme соответствуют друг другу
REPRO

Минимальная команда воспроизведения

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

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

Метки определяют, куда попадёт задача, а каталог — что останется после сбоя

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

Чек-лист runner

Четыре переменные нужно фиксировать вместе

Проверки к выполнению
LABEL Соответствие меток

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

WORKDIR Рабочий каталог

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

CONCURRENCY Ограничение параллельности

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

CLEANUP Стратегия очистки

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

GitHub Actions

Проверьте runs-on и группу runner

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

GitLab CI

Проверьте tags и права проекта

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

Другие self-hosted runner

Зафиксируйте личность исполнителя и жизненный цикл

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

Глоссарий терминов

Восемь терминов для единого описания проблемы

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

Физический узел
Реальное устройство Apple Silicon, на котором поставляется и работает macOS, а не виртуальный экземпляр, выделенный из общего хост-сервера.
Выделенный
Вычислительные ресурсы, память и локальное хранилище заказа используются одним пользователем и не разделяются с другими арендаторами.
Не виртуальная машина
Система работает непосредственно на физическом устройстве. При диагностике учитывайте реальный хост macOS, сеть и периферийные цепочки.
VNC
Протокол удалённого рабочего стола для доступа к графическому интерфейсу macOS. Проблемы изображения, ввода и буфера обычно проверяют на уровне клиента и сеанса.
SSH
Протокол командного подключения и автоматического выполнения. Помогает определить, доступен ли узел и существует ли отдельно проблема графического сеанса.
self-hosted runner
Исполнитель, развёрнутый командой на облачном Mac для получения задач CI-платформы; метки и права проекта команда настраивает самостоятельно.
Кэш сборки
Сохранённые зависимости или промежуточные артефакты для сокращения повторных загрузок и компиляции. Кэш должен иметь ключ версии, ограничение объёма и стратегию очистки.
Объединение устройств
Консультация по нескольким устройствам или подключению Thunderbolt 5 для подходящих задач. Это не означает линейного ускорения всех инструментов сборки.
Правила отправки тикета

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

Ценность тикета не в объёме текста, а в полноте времени, объекта, шагов воспроизведения и исходной ошибки.

Список материалов для тикета DIAGNOSTIC PACK
Проверка перед отправкой
01

Номер заказа и узел

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

02

Время воспроизведения

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

03

Логи ошибок

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

04

Выполненные шаги

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

05

Ожидаемый и фактический результат

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

Удаление конфиденциальных данных перед отправкой

Удалите все данные аутентификации

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

Два канала связи

Тикеты — для вопросов по заказам, email — для общих консультаций

По вопросам уже оформленного заказа сначала отправьте тикет через консоль, чтобы связать его с заказом и узлом. Общие вопросы по решениям можно направить на support@macvpsgo.com.

Порядок эскалации

Для каждой проблемы — своя очередь обработки

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

Консультация

Консультация по использованию и выбору

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

Перейти на страницу контактов
Подключение

Проблемы VNC или SSH

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

Отправить тикет о проблеме подключения
Оборудование

Предполагаемая неисправность физического узла

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

Отправить тикет о неисправности оборудования
Биллинг

Вопросы заказа и оплаты

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

Отправить тикет по биллингу

Готовы запустить следующую сборку?

Выберите Go M4 Core, Go M4 Plus или Go M4 Pro и настройте конфигурацию в одном из четырёх доступных узлов. Актуальный статус доступности показывает консоль.