Документация

Возник вопрос? Найдите нужную инструкцию

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

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

Проверьте адрес и выберите SSH или удалённый рабочий стол

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

Вход по SSH-ключу

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

ssh-keygen -t ed25519
ssh -i ~/.ssh/id_ed25519 "$USER@$HOST"

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

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

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

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

Порты и брандмауэр

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

02 / Процесс сборки

Зафиксируйте инструменты и обеспечьте воспроизводимость сборки

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

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

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

ls /Applications | grep Xcode
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
xcode-select -p
xcodebuild -version

xcodebuild и fastlane

В каталоге проекта сначала выведите список доступных Scheme и проверьте цель сборки, затем запустите Release-сборку. Если команда использует fastlane, храните настройки lane в системе контроля версий и перед запуском проверьте сертификаты и переменные окружения.

xcodebuild -list
xcodebuild -scheme App -configuration Release build
bundle exec fastlane gym

App замените на Scheme, существующую в проекте. Для gym в проекте должна быть соответствующая конфигурация fastlane.

01Подготовьте отдельную учётную запись

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

02Зарегистрируйте runner

Создайте данные для регистрации в настройках проекта GitHub Actions или GitLab, а затем зарегистрируйте runner на Mac по актуальным инструкциям платформы.

03Запустите пробную задачу

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

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

Термины

Восемь терминов об экземплярах и аренде

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

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

Срок аренды начинается с момента передачи устройства

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

01Проверьте заказ

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

02Проверьте дату окончания

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

03Продлите аренду или смените тариф

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

Оплата и расчёты

Доступна оплата в USDT-TRC20, а также картами Visa, Mastercard и Amex через Stripe. Все цены и расчёты указаны в долларах США (USD). Доступные при оформлении заказа способы оплаты отображаются в консоли. Цены на модели и четыре периода оплаты смотрите на странице тарифов и цен.

04 / Частые неполадки

Определите, на каком уровне возникла проблема

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

VNC подключён, но экран чёрный

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

SSH не подключается: ожидание истекает до запроса пароля

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

Для сборки не хватает места на диске

Сначала проверьте свободное место командой df -h, затем найдите, сколько места занимают артефакты проекта, DerivedData, архивы и файлы моделей. Перед удалением проверьте, кому принадлежат файлы, и сохраните нужные артефакты. Если постоянно требуется больше места, проверьте дополнительные SSD-опции на странице тарифов.

Связка ключей или сертификат подписи мешают создать архив

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

Перед окончанием аренды

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

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

01Сохраните результаты работы

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

02Проверьте конфиденциальные данные

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

03Определитесь с дальнейшими действиями

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

Не нашли ответ?

Опишите проблему и уже выполненные проверки

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