Сначала подтвердите личность устройства
Получите разовые данные поставки, проверьте регион, адрес и отпечаток хоста, смените первоначальный пароль и сохраните локальную запись проверки.
Это не обзор концепций, а набор пошаговых действий. Сначала проверьте личность выделенного физического узла и настройте безопасность, затем подготовьте Xcode, материалы подписи и автоматизированные задачи; при сбоях соберите сетевой вывод и логи сборки в едином формате.
Введите команду, инструмент или симптом, например «отпечаток хоста», «Archive», «DNS» или «пароль». Можно также сузить результаты по теме; фильтр влияет только на карточки руководства ниже и не скрывает полные разделы инструкций.
Получите разовые данные поставки, проверьте регион, адрес и отпечаток хоста, смените первоначальный пароль и сохраните локальную запись проверки.
Проверьте пути Xcode и инструментов командной строки, изолируйте связку ключей подписи и разделите каталоги исходников, кэша, архивов и экспорта.
Зафиксируйте версию кода, восстановите кэш, загрузите подпись, выполните архивирование и экспорт, затем проверьте файлы и логи в машиночитаемом формате.
Проверяйте отдельно доступность, маршрут, разрешение имён и целевой порт; одиночный ping или обрезанный лог не заменяет полный набор диагностики.
Сразу после первого входа смените пароль, перед удалением заблокируйте графический сеанс, а перед отправкой заявки удалите ключи, токены и материалы подписи.
Попробуйте сократить ключевые слова или выбрать «Все». Если проблема связана с конкретным заказом или узлом, войдите в консоль и отправьте заявку с временем и полным логом.
RunnerVM предоставляет выделенный физический Mac mini, а не виртуальную машину. При первом подключении важно не просто выполнить команду, а убедиться, что вы подключились к устройству из заказа, и заменить первоначальный способ доступа настройками безопасности команды.
Проверьте идентификатор заказа, регион узла, адрес подключения, SSH-порт, параметры VNC и первоначальное имя пользователя. Не пересылайте полные учётные данные в чате; при работе команды передавайте только необходимые поля фактическому исполнителю.
Посимвольно сравните отпечаток хоста из консоли с первым предупреждением SSH. При несовпадении алгоритма или дайджеста прекратите подключение и отправьте заявку; не обходите проблему удалением записи из локального known_hosts.
Подключитесь с хостом, портом и именем пользователя из заказа. После входа сначала выполните sw_vers,uname -m и hostname, а затем запишите версию системы, архитектуру Apple Silicon и имя устройства в запись поставки.
В локальном клиенте VNC укажите адрес, порт и пароль из консоли. При первом подключении используйте разрешение по умолчанию, проверьте клавиатуру, указатель и масштабирование окна, а после стабилизации сеанса увеличьте размер изображения.
Сразу смените первоначальный пароль, проверьте ключи SSH и права администратора, оставив только необходимый доступ. Затем заново установите сеансы SSH и VNC, убедитесь в действительности новых данных и только после этого импортируйте проект или материалы подписи.
Ниже показан порядок типичной задачи сборки с выводом SSH, xcodebuild и fastlane. Хост, рабочую область, Scheme, конфигурацию экспорта и lane в командах необходимо заменить реальными значениями проекта — не копируйте их без изменений для любого репозитория.
$ ssh -p 22 runner@10.0.0.12
Host key fingerprint: SHA256:…
$ sw_vers
ProductName: macOS
$ uname -m
arm64
$ xcodebuild archive \
-workspace RunnerApp.xcworkspace \
-scheme RunnerApp \
-archivePath build/RunnerApp.xcarchive
** ARCHIVE SUCCEEDED **
$ bundle exec fastlane ios build
[08:42:16]: Resolving signing settings
[08:43:02]: Archive completed
[08:43:11]: Export verified
[08:43:11]: fastlane finished successfully
Проблемы среды обычно связаны не с тем, открывается ли Xcode, а с согласованностью выбора графического интерфейса, пути командной строки, настроек проекта и контекста подписи. Проверяйте всё в указанном порядке, чтобы быстрее отделить проблему инструментов от проблемы проекта.
Выполните xcodebuild -version и xcode-select -p. Если на узле установлено несколько версий, сначала уточните требования проекта, затем переключите каталог разработчика, чтобы графический интерфейс и автоматизированные задачи не использовали разные версии.
Выполните xcrun --find xcodebuild,xcrun simctl list и один раз выполните разбор проекта без подписи. Если инструмент отсутствует или список SDK некорректен, сначала восстановите цепочку инструментов, не изменяйте файлы проекта напрямую.
Поместите сертификаты автоматизированной задачи в отдельную связку ключей, задайте понятные шаги разблокировки и минимальный объём доступа. Не записывайте пароль в репозиторий, параметры скрипта или лог сборки.
Зафиксируйте название сертификата, срок действия, идентификатор команды и UUID профиля подготовки; убедитесь, что Bundle Identifier соответствует конфигурации цели. После импорта проверьте доступные удостоверения командой security find-identity -v -p codesigning .
Разделите исходники, кэш зависимостей, DerivedData, Archive, Export и логи. Для каждой задачи используйте уникальный путь архива; общий кэш должен содержать только восстанавливаемые данные, чтобы материалы подписи не попали в него.
Цель автоматизации — не перенести локальный скрипт на удалённый узел, а сделать воспроизводимыми входные данные, среду, подпись и результаты. Каждый этап должен оставлять понятную запись, чтобы при сбое было ясно, где он произошёл.
Используйте хэш коммита или защищённый тег, а не движущуюся вершину ветки. Зафиксируйте версии подмодулей, состояние Git LFS и чистоту репозитория.
git checkout --detach <commit>
Ключ кэша должен включать как минимум дайджест lock-файла, версию инструментов и архитектуру. При промахе кэша выполните обычную установку; успешная сборка не должна зависеть от обязательного попадания в кэш.
bundle check || bundle install
Разблокируйте связку ключей задачи, импортируйте подходящий профиль подготовки и проверьте доступное удостоверение подписи. Ключи и пароли нельзя выводить в стандартный вывод.
security find-identity -v -p codesigning
Явно укажите рабочую область, Scheme, Configuration, Destination и путь архива. Сохраните полный лог и код завершения xcodebuild.
xcodebuild archive …
Храните конфигурацию экспорта под управлением версий, но без секретов. Разделяйте каталоги экспорта и архива, чтобы повторный запуск не перезаписал исходный xcarchive.
xcodebuild -exportArchive …
Проверьте наличие и размер файлов, дайджест, сведения о подписи и код завершения задачи; свяжите идентификатор артефакта с версией коммита, версией Xcode и путём к логам.
shasum -a 256 build-output
Удалённый рабочий стол подходит для первоначальной графической настройки, проверки состояния интерфейса Xcode и задач, требующих визуального контроля. Непрерывность сборки не должна зависеть от того, остаётся ли локальное окно VNC подключённым.
Строго используйте адрес, порт, имя пользователя и пароль из консоли. Даже при поддержке файла конфигурации подключения не записывайте пароль в синхронизируемый файл открытым текстом.
При первом подключении используйте размер по умолчанию. После проверки стабильности взаимодействия постепенно увеличивайте разрешение; при задержке ввода сначала уменьшите глубину цвета и размер изображения, затем проверьте сетевой маршрут.
Перед уходом заблокируйте графический сеанс; закрытие клиента VNC не заменяет блокировку экрана. При смене сотрудников отменяйте больше не нужные права доступа.
Длительные сборки должны выполняться в CI runner, launchd, tmux или другом восстанавливаемом сеансе. Один раз намеренно отключитесь и убедитесь, что задача и логи продолжают выполняться и записываться.
Подтвердите регион заказа, имя устройства и текущего пользователя.
Не судите о продолжении сборки только по выводу на экране.
После отключения проверьте по SSH процессы, рост лога и состояние завершения.
Удалите временные открытые ключи, одноразовые файлы и больше не нужные учётные данные.
Для диагностики сети нужно точно указать, откуда и когда выполнялся запрос, к какой цели обращались и какой полный вывод получили. Один снимок экрана или фраза «соединение медленное» не позволяют отличить локальную сеть, межрегиональный маршрут, DNS, правила портов и состояние целевого сервиса.
Отправьте фиксированное число пакетов подряд и сохраните минимальную, среднюю и максимальную задержку, а также процент потерь. Один ответ не отражает качество всего соединения.
ping -c 20 target-host
Запустите команду из исходной сети, где возникла проблема, и сохраните все переходы. Отсутствие ответа промежуточного узла не означает разрыв канала; оценивайте ситуацию вместе с доступностью конечной цели.
traceroute target-host
Запишите текущий DNS-сервер, возвращённые адреса и время запроса. Если в разных сетях результаты отличаются, приложите вывод с обеих сторон без ручного редактирования.
dig target-host
Отдельно проверьте SSH-порт или порт, используемый проектом. Успешное подключение означает только доступность TCP, но не завершение аутентификации и протокола верхнего уровня.
nc -vz target-host 22
Перед отправкой удалите пароли, закрытые ключи, токены и бизнес-данные, но не удаляйте временные метки, коды ошибок, переходы маршрута или параметры команд.
Предпродажные вопросы, общие консультации и описания, не связанные с конкретным заказом, можно отправить по электронной почте; проблемы узла, сборки, подключения или биллинга следует передавать через консоль, чтобы связать их с заказом и отслеживать статус.
Выберите путь для первого подключения, подготовки среды, автоматизации или диагностики сети. Запишите выполненные шаги, команды, результаты и место первого сбоя.
Укажите идентификатор заказа, регион узла, время проблемы, шаги воспроизведения, ожидаемый и фактический результат, а также обезличенный полный лог. Для проблем сборки добавьте версию коммита и Xcode.
Выберите наиболее подходящую категорию и добавьте лог вложением или блоком кода в тексте. Одна заявка — одна проблема; не смешивайте сетевые, сборочные и биллинговые сбои.
После повторной проверки отвечайте в исходной заявке, добавляя новое время, команды и вывод. Даже при срочном инциденте проверяйте статус через консоль и не создавайте дубликаты.
Подходит для ошибок подключения, проблем узла, среды сборки, проверки биллинга и вопросов, требующих дальнейшего сопровождения. Заявка связывается с заказом и сохраняет полную историю обработки.
Подходит для выбора решения до покупки, уточнения процессов, сообщений о безопасности и вопросов, не связанных с узлом. Укажите категорию в теме письма и не включайте пароли или ключи в текст.
На странице контактов перечислены обязательные сведения для вопросов о покупке, технике, биллинге и безопасности — используйте их перед отправкой письма, чтобы проверить полноту материалов.
Ответы ниже помогают отличить поставку устройства, способ подключения, задачу сборки и материалы поддержки, чтобы не тратить время на неверные действия.
Нет. Заказ относится к выделенному физическому узлу Mac mini с конфигурацией Runner M4: Mac Mini M4, 16GB RAM, 256GB SSD. Удалённое подключение — лишь способ доступа; сервис не является общим виртуальным ресурсом.
Это зависит от способа запуска. CI runner, launchd, tmux и отдельные фоновые процессы обычно не зависят от окна VNC; интерактивные задачи, привязанные к графическому сеансу, могут зависеть от его состояния. Перед рабочим использованием намеренно отключитесь и проверьте процессы, логи и состояние завершения.
Подготовьте рабочие SSH- и VNC-клиенты, внутренний способ хранения учётных данных команды, требуемую проектом версию Xcode, список материалов подписи и процесс управления секретами, который не записывает их в репозиторий. После получения данных поставки сначала проверьте отпечаток хоста и личность устройства.
Нет, автоматически не изменит. Runner M4 можно заказать на день, неделю, месяц или квартал; период заказа и статус обработки определяются записями в консоли. Для проверки конкретного заказа отправьте связанную с ним заявку через консоль.
Сначала экспортируйте нужные архивы, артефакты и обезличенные логи, затем очистите рабочую область исходников, временную связку ключей подписи, профили подготовки, временные открытые ключи, токены доступа и конфиденциальные данные в кэше проекта. Не оставляйте открытые учётные данные в истории shell или параметрах скриптов.
Сначала протестируйте задержку и маршрут до целевого региона из фактической офисной сети или источника CI, затем учитывайте часовой пояс команды и направление передачи артефактов. Runner M4 доступен для заказа в пяти регионах: Сингапур, Токио, Сеул, Гонконг и восток США; актуальная доступность отображается в консоли.
Выберите Runner M4 и целевой регион, оформите заказ, затем проверьте подключение, подготовьте инструменты и запустите первую воспроизводимую задачу сборки по шагам этой страницы.