Руководство по инженерной поддержке

От первого подключения до диагностики: пошагово запустите облачный Mac

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

Регионы узлов
Сингапур, Япония (Токио), Южная Корея (Сеул), Гонконг
Работа сервиса
Стабильная работа 365 дней в году
Канал обращения
Тикет в панели управления или электронная почта поддержки
Сначала выберите правильный путь

Шесть типов проблем — шесть самых коротких путей решения

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

Первое подключение

Не начинайте с повторных подключений — сначала выполните пять базовых проверок

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

  1. 01

    Считайте данные текущего заказа в панели управления

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

    Критерий выполнения: модель и регион соответствуют текущему заказу
  2. 02

    Установите подключение к удалённому рабочему столу

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

    Критерий выполнения: графический интерфейс macOS отображается, рабочим столом можно управлять
  3. 03

    Выполните базовую настройку безопасности

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

    Критерий выполнения: данные доступа изменены и безопасно сохранены командой
  4. 04

    Настройте разрешение и качество изображения

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

    Критерий выполнения: текст чёткий, ввод и перетаскивание окон стабильно реагируют
  5. 05

    Выполните проверку первого входа

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

    Критерий выполнения: время, диск, сеть и права каталога работают нормально
Среда разработки

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

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

Xcode

Закрепите версии инструментов, требуемые проектом

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

xcode-select -p
xcodebuild -version
xcrun --show-sdk-path

Критерий: основная версия Xcode, SDK и пути к инструментам в локальной разработке и непрерывной интеграции совпадают.

Homebrew

Управляйте воспроизводимыми зависимостями через Brewfile

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

brew bundle dump --force
brew bundle check
brew bundle install

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

Git

Разделите идентичность репозитория и права проекта

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

git config --global --list
git remote -v
ssh -T git@your-git-host

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

Подпись и командная строка

Вынесите конфиденциальные материалы за пределы процесса сборки

Сертификаты, закрытые ключи и данные для подписи импортируйте через утверждённый командой защищённый процесс, задавая минимальные права для каждого проекта. Версии Node, Ruby, Python, CocoaPods и других инструментов следует закрепить, а файлы версий включить в репозиторий.

node --version
ruby --version
python3 --version
pod --version

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

Интеграция CI/CD

Используйте облачный Mac как отслеживаемый постоянный узел сборки

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

Регистрация

Установите и зарегистрируйте GitLab CI Runner

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

  • Запишите имя Runner и проект-владелец
  • Метки содержат сведения о наборе инструментов и типе задачи
  • Проверьте права каталога пользователя, выполняющего задачи
Постоянная работа

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

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

  • Проверьте владельца процесса и способ запуска
  • Ограничьте число одновременно выполняемых задач
  • Задайте правила завершения для задач с превышенным временем ожидания
Кэш

Закрепите каталог кэша и границы очистки

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

  • Отдельно фиксируйте пути к кэшу и артефактам
  • Настройте отдельный каталог для каждого проекта
  • Регулярно проверяйте свободное место и источник роста
Изоляция

Изолируйте данные для подписи и права доступа к репозиториям

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

  • Защитите конфиденциальные переменные и ограничьте ветки
  • Разделите обычные задачи компиляции и подписи разными метками
  • Удаляйте временные файлы после завершения задачи
Приёмка подключения

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

  1. Извлеките тестовый репозиторий без конфиденциальных данных.
  2. Выведите версии Xcode, SDK и инструментов зависимостей.
  3. Выполните одну сборку без подписи и сохраните артефакт.
  4. Проверьте кэш, логи и временные каталоги после завершения задачи.
Доступность сервиса

Оценивайте состояние сервиса по единым метрикам, а не по единичному сбою сети

Узлы MacMLab облачных Mac стабильно работают 365 дней в году. На качество подключения также влияют локальная сеть пользователя, правила выхода в сеть, параметры удалённого рабочего стола и нагрузка задач. При диагностике фиксируйте эти факторы отдельно от состояния узла.

Показатель доступности сервиса
99.9%
Период наблюдения состояния
90дней

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

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

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

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

Начало

Удалось ли установить удалённое подключение к узлу?

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

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

Адрес не отвечает или данные доступа отклонены

  1. Убедитесь, что данные подключения относятся к текущему заказу.
  2. Переключитесь на другую локальную сеть и повторите проверку после отключения прокси.
  3. Запишите исходный текст ошибки клиента и время возникновения.

Отправьте:номер заказа, регион узла, тип локальной сети, скриншот ошибки и название клиента.

Медленный отклик

Задержка изображения, медленный ввод или замедление задач

  1. Снизьте разрешение и качество изображения удалённого рабочего стола.
  2. Разделите задержку изображения рабочего стола и время выполнения команд в терминале.
  3. Проверьте CPU, память, диск и число параллельных задач.

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

Дисковое пространство

Ошибка записи или постоянное уменьшение свободного места

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

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

Сбой сборки

Ошибка компилятора, зависимости или процесса подписи

  1. Зафиксируйте версии Xcode, SDK и инструментов зависимостей.
  2. Воспроизведите минимальную задачу сборки в чистом каталоге.
  3. Сравните названия переменных среды локальной системы и CI.

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

Сбой узла

Несколько независимых операций одновременно не работают

  1. Исключите проблемы отдельного репозитория, инструмента и клиента.
  2. Зафиксируйте общие симптомы в терминальном и графическом интерфейсе.
  3. Прекратите повторные попытки и сохраните сведения о состоянии.

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

Связь с поддержкой

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

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

Рекомендуемый путь

Войдите в панель управления и отправьте тикет

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

Рекомендуемый заголовок Регион узла + симптом + время первого возникновения
Порядок текста номер заказа → масштаб влияния → шаги воспроизведения → исходный текст ошибки → выполненные проверки
Требования к вложениям Загружайте только обезличенные скриншоты и сводки логов; скройте пароли, закрытые ключи, токены и данные для подписи
Войти в панель управления и отправить тикет
Общие консультации

Отправьте письмо в поддержку

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

support@macminilab.com
Напоминание о конфиденциальности

Сотрудникам поддержки не нужны ваши секретные данные

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

Посмотреть описание обработки данных

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

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