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

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

PingMini предоставляет выделенные физические Mac в облаке. Выберите графический рабочий стол, SSH или автоматизированные задачи, затем перенесите код, инструменты и конфигурацию сборки. Каждый этап содержит входные данные, действия и критерии проверки.

3 способа
Графический рабочий стол, SSH, автоматизированные задачи
4 типа объектов переноса
Код, инструменты, материалы подписи, конфигурация CI
1 принцип
Сначала проверка, затем поэтапный перенос
Задание на подключение Локальный Mac → облачный Mac
Ожидает выполнения
Целевой узел SG / JP / KR / HK / US-E
Объект поставки Выделенный физический Mac
Рабочий стол Проверьте разрешение и раскладку клавиатуры Проверка: интерфейс, ввод и правила буфера обмена соответствуют ожиданиям
Подключение
SSH Проверьте отпечаток хоста и ключ Проверка: неинтерактивная команда возвращает корректные сведения о хосте
Проверка
Перенос Синхронизируйте репозиторий и lock-файлы зависимостей Проверка: сборка воспроизводится в чистой среде
Воспроизведение
CI Зарегистрируйте узел-исполнитель и запустите тестовую задачу Проверка: журналы, артефакты и код завершения отслеживаются
Передача
Данные для подключения определяются подтверждением заказа PLAN → CONNECT → VERIFY
Выберите способ доступа

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

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

Визуальная работа

Графический рабочий стол

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

Входные данные
Адрес хоста, учётная запись и временные учётные данные
Проверка
Чёткое изображение; клавиатура, мышь и буфер обмена работают по заданным правилам
Командная строка

SSH

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

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

Автоматизированные задачи

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

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

Сначала настройте рабочее состояние сеанса

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

Контрольный список сеанса GRAPHICAL SESSION
STEP 01–04
  1. 01

    Проверьте сведения о хосте

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

    Хост подтверждён
  2. 02

    Создайте первый сеанс

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

    Сеанс стабилен
  3. 03

    Настройте параметры отображения

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

    Изображение чёткое
  4. 04

    Проверьте границы ввода

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

    Ввод под контролем
До подключения

Подготовьте локальный журнал проверки

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

Открыть диагностику подключения
После подключения

Сначала проверка, не копирование

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

Проверить конфигурацию модели
Первичная настройка SSH

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

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

Локальное выполнение

Создайте отдельный ключ и укажите его назначение

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

ssh-keygen -t ed25519 -a 64 -f ~/.ssh/pingmini_dev
chmod 600 ~/.ssh/pingmini_dev
ssh-add ~/.ssh/pingmini_dev

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

Удалённая проверка

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

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

ssh -i ~/.ssh/pingmini_dev user@host
ssh -i ~/.ssh/pingmini_dev user@host \
  'sw_vers && uname -m && whoami'

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

A

Ограничьте права учётной записи

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

B

Зафиксируйте конфигурацию хоста

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

C

Проверьте код завершения

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

Схема переноса

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

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

01 Перенос данных

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

Входные данные
Репозитории кода, необходимые материалы, шаблоны конфигурации, экспорт базы данных и lock-файлы зависимостей.
Действие
Сначала заново клонируйте репозиторий; большие файлы проверяйте партиями; конфиденциальную конфигурацию размещайте отдельно через контролируемый канал.
Проверка
Состояние репозитория чистое, контрольные суммы ключевых файлов совпадают, локального временного кэша в каталоге проекта нет.
02 Воспроизведение инструментов

Пересоберите среду по списку версий

Входные данные
Версия Xcode, инструменты командной строки, список менеджеров пакетов, требования SDK и lock-файлы зависимостей.
Действие
Сначала установите базовые инструменты, затем восстановите зависимости; не копируйте напрямую глобальный кэш и каталоги производных данных со старой машины.
Проверка
Один и тот же коммит собирается в чистом каталоге; версии тестов и компилятора, а также сведения об артефактах можно зафиксировать.
03 Подключение CI

Включите узел в оркестрацию задач

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

Воспроизводите среду по списку, не перенося мусор со старой машины

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

Список переноса

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

Репозиторий кода

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

Lock-файлы зависимостей

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

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

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

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

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

Результаты сборки и тестов

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

Синхронизировать

Входные данные, определяющие результат сборки

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

Цель: объяснимость, воспроизводимость, возможность отзыва
Не рекомендуется копировать

Кэш, который можно создать заново

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

Принцип: сначала пересоздать, затем восполнить недостающее
Безопасность сеанса

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

Для удалённых сеансов, ключей SSH и учётных данных CI должны быть определены ответственный, назначение и время отзыва. Завершение совместной работы — это не просто закрытие окна: нужно отозвать доступ и удалить оставшиеся данные.

ACCESS

Используйте отдельные надёжные учётные данные

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

ROTATE

Меняйте ключи при событиях

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

LIMIT

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

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

CLOSE

Завершите передачу и очистку

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

Начало совместной работы Зарегистрируйте участников, назначения и права

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

Совместная работа идёт Проверяйте подозрительные входы и оставшиеся задачи

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

Завершение совместной работы Отзовите точки входа и удалите конфиденциальные данные

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

Диагностика подключения

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

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

  1. 01

    Проверьте состояние заказа

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

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

    Проверьте адрес хоста

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

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

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

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

    Сетевой уровень
  4. 04

    Проверьте учётные данные и отпечаток хоста

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

    Уровень аутентификации
  5. 05

    Проверьте системные службы

    Если SSH работает, а графический сеанс недоступен, отдельно проверьте состояние соответствующих служб; если графический сеанс работает, но скрипт завершается ошибкой, проверьте Shell, пути и права.

    Уровень служб
  6. 06

    Соберите журналы клиента

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

    Уровень доказательств
Готовы начать

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

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