Подготовьте поддерживаемый инструмент подключения
Проверьте рабочую версию клиента и подготовьте резервный способ доступа. Перед первой сессией отключите расширения, которые меняют раскладку клавиатуры, прокси или масштабирование изображения.
Сначала проверьте узел, учётные данные и локальную сеть, затем установите удалённую сессию. После стабилизации подключения переносите код, данные, инструменты и CI поэтапно, а не всей локальной средой сразу.
Не совмещайте первое подключение с миграцией проекта. Выполните пять базовых проверок и убедитесь, что локальный клиент, сеть и данные поставки поддерживают стабильную сессию.
Проверьте рабочую версию клиента и подготовьте резервный способ доступа. Перед первой сессией отключите расширения, которые меняют раскладку клавиатуры, прокси или масштабирование изображения.
Используйте проводную сеть или стабильный Wi‑Fi, приостановите синхронизацию больших файлов и локальную загрузку. При работе через корпоративный прокси убедитесь, что трафик удалённой сессии и SSH не изменяется.
Получите адрес узла, имя пользователя и способ подключения из консоли, а не из чата или старой заявки. Храните учётные данные только в менеджере паролей, не в скриптах и репозиториях.
При первом подключении используйте один монитор и стандартный масштаб. Сначала проверьте текст, курсор и сочетания клавиш, а затем повышайте разрешение, чтобы не принять проблему изображения за сетевую.
В первую очередь передайте список проектов, lock-файлы зависимостей и небольшую проверяемую ветку. Медиафайлы, старый кэш и архивы передавайте партиями после проверки подключения.
Разделите первую сессию на пять шагов: адрес, подключение, учётные данные, ввод и изображение. Для каждого шага задайте условие готовности, чтобы при сбое определить последнее изменение.
Сверьте имя хоста или адрес, имя пользователя и протокол подключения с данными поставки в консоли. Сначала убедитесь, что выбран нужный узел, затем устанавливайте сессию.
Подключитесь с одним монитором, стандартным разрешением и качеством по умолчанию. В течение нескольких минут проверьте переключение окон, ввод текста и просмотр файлов.
Сразу после первого входа задайте отдельные надёжные учётные данные, обновите запись в менеджере паролей и перестаньте использовать исходные данные поставки в повседневной работе.
Проверьте Command, Option, Control, клавиши направления и обычный ввод на русском и английском языках. Раскладка удалённого клиента должна совпадать с раскладкой macOS.
Повышайте разрешение, масштаб и качество только после стабилизации базовой сессии. Меняйте по одному параметру и наблюдайте за чёткостью текста, задержкой курсора и сетевой нагрузкой.
Выполняйте три маршрута по порядку. В каждом фиксируйте входные данные, действия, результаты проверки и точку отката, не меняя одновременно код, версии инструментов и автоматизацию в нестабильной среде.
Сначала переносите код и конфигурацию, восстановимый кэш — позже, а трудно восстанавливаемые материалы подписи и медиафайлы проверяйте отдельно. Перед переносом больших пакетов проверьте путь и права на небольшом образце.
| Тип данных | Содержимое первой партии | Рекомендуемое действие | Способ проверки | Откат |
|---|---|---|---|---|
| Репозиторий кода | Основной репозиторий, подмодули, lock-файлы зависимостей | Начните с чистого клонирования и не копируйте рабочий каталог с локальным состоянием | Проверьте ветку, хеш коммита, подмодули и неотслеживаемые файлы | Удалите удалённую копию и клонируйте заново |
| Кэш сборки | Переносите только подтверждённый к повторному использованию кэш | Сначала выполните сборку без кэша, затем восстановите кэш отдельно для каждого инструмента | Сравните журналы попаданий в кэш, результат сборки и занятое место | Очистите соответствующий каталог кэша и создайте его заново |
| Материалы подписи | Минимальный набор, необходимый проекту | Передайте материалы по контролируемому зашифрованному каналу и ограничьте права на файлы и связку ключей | Выполните проверку подписи без загрузки артефактов | Удалите импортированные элементы и отзовите временные права доступа |
| Медиафайлы | Небольшой образец, достаточный для проверки процесса | Организуйте каталоги по проекту, партии и назначению, не смешивая их с кэшем | Проверьте количество файлов, размер и контрольные значения содержимого | Удалите текущую партию и передайте её заново из локальных оригиналов |
| Крупные архивы | Индекс, манифест и один тестовый архив | Передавайте томами, фиксируя состояние каждого, и не перезаписывайте целевой каталог целиком | Проверьте каждый том и выборочно результаты распаковки | Передайте заново только неудачный том, не повторяя полный перенос |
Важно не то, что «файлы уже переданы», а то, что удалённая среда воспроизводит проверяемую сборку из однозначного коммита и списка зависимостей.
Не начинайте с установки всех привычных инструментов. Ориентируйтесь на реальные зависимости проекта и воспроизводите среду в порядке: система, компилятор, инструменты командной строки, зависимости, сертификаты и скрипты.
Зафиксируйте версию системы, архитектуру, свободное место и региональные настройки, проверив совместимость требований проекта с возможностями системы.
Сведения о системе сохраненыПроверьте заданную проектом версию, компоненты первого запуска и текущий каталог разработчика, не полагаясь на временный выбор в графическом интерфейсе.
Версия и путь совпадаютПроверьте компилятор, SDK, Git, Ruby и другие нужные проекту среды выполнения, записав фактически найденные пути.
Команды разрешаются однозначноВосстановите зависимости по lock-файлу, отделяя глобальные инструменты от зависимостей проекта, чтобы локальный кэш не скрывал пропуски.
Чистая установка воспроизводимаИмпортируйте только материалы текущей задачи и проверьте область доступа к связке ключей, права файлов и видимость для процессов автоматизации.
Минимальная область доступа подтвержденаНачните с проверок только для чтения, затем запускайте разрешение зависимостей, тесты и сборку. Скрипты не должны зависеть от незарегистрированных локальных абсолютных путей.
Результат одного коммита совпадаетНе подключайте Runner одновременно с миграцией инструментов. Сначала убедитесь, что сборка в ручной сессии воспроизводима, затем поместите ту же команду в автоматизированную задачу.
Используйте для облачного Mac отдельный идентификатор и набор меток Runner, ограничив принимаемые репозитории и типы задач. Сначала запустите диагностическую задачу, выводящую только сведения о системе.
В обычных переменных храните версии и пути, а секретные значения передавайте в управляемое хранилище ключей. Не выводите в журналы токены, закрытые ключи и материалы подписи.
Разделите каталоги исходников, кэша зависимостей, временного вывода и готовых артефактов. Перед запуском проверьте свободное место, а после завершения удаляйте только восстанавливаемые данные.
Загрузка должна читать только согласованный каталог вывода, сохраняя хеш коммита, номер сборки и контрольные сведения, чтобы временные журналы не попали в пакет поставки.
Сохраните код выхода и удалите lock-файлы, зависшие процессы и временные каталоги. После сохранения диагностического журнала следующая задача должна начинаться из известного состояния.
Как минимум проверьте сборку в новом рабочем каталоге, повторный запуск после сбоя и загрузку с проверкой артефакта. Расширяйте область задач только после успеха всех трёх проверок.
Эти проверки не изменяют конфигурацию системы. Сначала задайте в локальном терминале хост и имя пользователя из данных поставки в консоли, затем установите SSH-сессию и зафиксируйте сведения о системе, архитектуре, диске и путях инструментов разработки.
Хост, имя пользователя, путь к ключу и токены не должны попадать в скрипты проекта или систему контроля версий.
Сначала выполните проверки только для чтения и лишь затем меняйте инструменты после подтверждения текущего состояния.
export SETMINI_HOST="Адрес узла из консоли"
export SETMINI_USER="Имя пользователя из консоли"
ssh "${SETMINI_USER}@${SETMINI_HOST}"
hostname
sw_vers
uname -m
df -h /
xcode-select -p
xcodebuild -version
git --version
echo "$SHELL"
Выделенная физическая машина не означает, что контроль доступа можно ослабить. Учётные данные, права, блокировка экрана, завершение работы и очистка конфиденциальных файлов должны входить в командный чек-лист передачи.
Задайте для узла отдельные учётные данные и сохраните их в менеджере паролей. Немедленно обновляйте их при смене участников, подозрении на утечку или необычном входе.
Используйте в повседневной разработке минимальные права, необходимые для задачи. После временного повышения прав своевременно возвращайтесь назад и не записывайте расширенные права в скрипты автоматизации.
Блокируйте сессию даже при кратком отходе. В общем рабочем пространстве также отключайте локальный предпросмотр экрана, чтобы не раскрывать удалённое содержимое.
После выполнения задачи закройте удалённый клиент и SSH-сессию, убедившись, что интерактивные процессы и временная переадресация портов не остались работать.
Удалите временные загрузки, отладочные выгрузки, незашифрованные архивы и больше не нужные материалы подписи, сохранив запись об очистке.
При обнаружении неизвестной сессии, подозрительного процесса или риска для учётных данных сначала сохраните время события и необходимые журналы, затем отправьте заявку через консоль.
Отправить заявку через консольВыберите выделенный Apple Silicon Mac и после получения данных поставки выполните подключение, регистрацию среды и подключение CI в порядке, указанном на этой странице.