Выбирайте канал в зависимости от срочности
Документация — самый быстрый способ, заявки в поддержку — самый полный, почта удобна, когда нужна переписка с историей, а страница статуса поможет сразу понять, проблема на стороне платформы или нет.
Документация
На этой странице собраны руководства по началу работы, переустановке, CI/CD и устранению неполадок — просто скопируйте нужные команды.
Смотреть ниже →Система заявок
Войдите в панель управления и создайте заявку — данные о машине подставятся автоматически, а критические сбои можно отметить как приоритетные.
Перейти в панель управления →Поддержка по почте
support@hirevps.com — подходит для вопросов со скриншотами, логами и другими материалами, которые нужно сохранить.
Написать нам →Страница статуса
Актуальная доступность всех локаций видна сразу — проверьте перед обращением, чтобы не тратить время на лишнюю переписку.
Смотреть статус в реальном времени →Первые десять минут после получения доступа
Через 2 минуты после активации вы получите данные для SSH/VNC в панели управления и на почту. Выполните три шага ниже — и через десять минут окажетесь на рабочем столе, готовы к работе.
1. Первое подключение по SSH
Имя хоста в данных доступа выглядит примерно так: jp1-1024.hirevps.com. Подключиться можно через встроенный терминал:
# replace host and user with your credentials
ssh omac@jp1-1024.hirevps.com
# first login: change your password
passwd
Рекомендуем сразу сменить пароль после входа и загрузить в панели управления SSH-ключ, отключив вход по паролю — так безопаснее и удобнее.
2. Включение VNC / общего доступа к экрану
По умолчанию общий доступ к экрану включён сразу после выдачи машины. Если вы его отключили вручную, снова включить можно одной командой через SSH:
# enable macOS remote management (screen sharing)
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \
-activate -configure -access -on -restart -agent
На Mac используйте приложение «Общий доступ к экрану», на Windows/Linux — любой VNC-клиент. В качестве адреса укажите имя хоста и порт 5900.
3. Чек-лист проверки среды разработки
- В образе уже предустановлены Homebrew, Git и Xcode Command Line Tools — выполните в терминале
xcodebuild -versionиbrew --version, чтобы проверить версии. - Для сценариев CI/CD сначала запустите полную сборку в качестве базового замера: зафиксируйте время холодного старта и инкрементальной сборки — это пригодится при диагностике проблем с производительностью.
- Сертификаты и ключи лучше хранить в отдельном keychain и явно разблокировать его в скрипте сборки — это избавит от ошибок подписи после блокировки экрана в графической сессии.
- Перед завершением аренды синхронизируйте код и артефакты сборки в свой репозиторий или объектное хранилище — после удаления данные восстановить невозможно (подробнее о границах ответственности за данные — в условиях обслуживания).
Переустановка, смена версии и перенос данных — всё в несколько кликов в панели управления
Все три операции выполняются самостоятельно, без создания заявки. Переустановка и смена версии — бесплатны и без ограничения по количеству раз.
Переустановка macOS
Панель управления → ваш инстанс → «Переустановить систему», выберите версию и подтвердите — процесс занимает примерно 15–25 минут (точное время зависит от условий).
Переустановка полностью очищает SSD — перед подтверждением отправьте код в удалённый репозиторий и скопируйте артефакты сборки.
Смена версии системы
Можно выбрать текущую стабильную версию или предыдущую крупную версию (например, Sequoia / Sonoma). На некоторых локациях доступны бета-образы — актуальный список смотрите в панели управления.
Смена версии выполняется через тот же процесс переустановки и также очищает диск. Для тестирования совместимости с несколькими версиями лучше арендовать дополнительный инстанс на сутки и вернуть его после теста.
Снапшоты и перенос данных
Перед переустановкой можно сделать локальный снапшот APFS для подстраховки, а для переноса между машинами рекомендуем rsync:
# create a local snapshot before risky changes
tmutil localsnapshot
# sync your workspace to the new machine
rsync -avz ~/work/ omac@new-host:~/work/
Мы не читаем и не резервируем данные на вашей машине (см. политику конфиденциальности), поэтому важные данные нужно регулярно синхронизировать в удалённый репозиторий или объектное хранилище самостоятельно — локальные снапшоты также удаляются при переустановке.
Превратите этот Mac в узел для сборки
Выделенный физический сервер с root-доступом позволяет подключить популярные CI-системы по стандартной официальной процедуре — никаких особых доработок не требуется. Выберите используемую вами систему:
Подключение self-hosted runner
На странице настроек Actions вашего репозитория или организации выберите «New self-hosted runner (macOS / ARM64)» и выполните команды для загрузки и настройки, указанные на странице, в терминале облачного Mac:
# run these on your cloud Mac (values come from your Actions settings page)
./config.sh --url <your-repo-url> --token <runner-token> \
--labels macos,arm64,hirevps
# install as a service so it survives reboots
./svc.sh install && ./svc.sh start
В workflow достаточно изменить runs-on на [self-hosted, macos, arm64]. Сборка xcodebuild на физическом M4 обычно заметно быстрее, чем на управляемых runner'ах — точная разница зависит от вашего проекта.
Подключение узла Jenkins
В разделе Jenkins «Manage Nodes» создайте новый agent (способ запуска — inbound), затем запустите процесс agent на облачном Mac:
# download agent.jar from your Jenkins controller first
java -jar agent.jar \
-url <your-jenkins-url> \
-name hirevps-m4 \
-secret <agent-secret> \
-workDir ~/jenkins-agent
Рекомендуем зарегистрировать agent как автозагружаемую службу через launchd и присвоить узлу метку macos-arm64 — это упростит распределение задач в пайплайнах по меткам. Если нужен пример plist-файла, оформите заявку — мы отправим его вам.
Три частых проблемы — сначала проверьте по чек-листу
Перед созданием заявки уделите две минуты чек-листу — больше половины обращений решаются уже на втором шаге.
Не удаётся подключиться к машине (тайм-аут SSH / чёрный экран VNC)
- Откройте страницу статуса и проверьте состояние вашей локации — если всё в порядке, проблема, скорее всего, на вашей стороне.
- Проверьте доступность хоста локальной командой ping; попробуйте подключиться через мобильный интернет — это поможет исключить блокировку портов 22/5900 корпоративной сетью или провайдером.
- Проверьте статус инстанса в панели управления: если он «работает», попробуйте функцию «Удалённый перезапуск»; если процесс завис на старте — подождите 3 минуты и обновите страницу.
- Проверьте, не меняли ли вы порт SSH или правила брандмауэра (pfctl) — это самая частая причина «самоблокировки». «Аварийный терминал» в панели управления позволяет зайти в систему напрямую, минуя сеть, и вернуть настройки.
- Если ничего из этого не помогло, создайте заявку с отметкой «Не удаётся подключиться» — мы обработаем её как P1.
Сборка стала медленнее (заметно выросло время xcodebuild)
- Убедитесь, что изменилась не сама задача: после обновления зависимостей или крупной версии Xcode первая сборка пересобирает индекс и кэш — это нормально.
- top -o cpu покажет, нет ли «зависших» процессов; первичная индексация Spotlight может полностью загружать CPU — отключить её можно командой mdutil -a -i off.
- Проверьте, не очищает ли CI папку DerivedData при каждом запуске — сохранение кэша обычно значительно сокращает время инкрементальной сборки.
- df -h покажет свободное место: при заполнении SSD более чем на 90% скорость записи снижается — сначала освободите место, затем сравните результаты.
- Ваша машина — выделенный физический сервер, «соседей», конкурирующих за ресурсы, нет. Если проблема сохраняется после проверки всех пунктов, создайте заявку с логами двух сборок — до и после замедления, и мы проверим оборудование.
Диск заполнен (No space left on device)
- Найдите основных «пожирателей» места: du -sh ~/Library/Developer/* — как правило, больше всего занимают DerivedData, старые runtime симуляторов и Archives.
- Безопасная очистка: rm -rf ~/Library/Developer/Xcode/DerivedData; для удаления неиспользуемых runtime симуляторов используйте xcrun simctl runtime delete.
- Локальные снапшоты APFS также занимают место: посмотреть список можно командой tmutil listlocalsnapshots /, удалить старые снапшоты — tmutil deletelocalsnapshots.
- Для CI-машин рекомендуем добавить в пайплайн шаг регулярной очистки, а не ждать, пока диск заполнится полностью.
- Если после очистки места всё равно не хватает — пора увеличить конфигурацию: при увеличении SSD оплачивается только разница в стоимости, способы переноса данных описаны выше, либо просто выберите более крупный тариф на странице тарифов.
Чёткие обязательства по срокам ответа
Заявки делятся на три уровня по степени влияния на работу — уровень выбираете вы при создании заявки, мы его подтверждаем при рассмотрении. Обещаем только то, что реально выполняем.
| Уровень | Типичный случай | Первый ответ | Часы обслуживания |
|---|---|---|---|
| P1 Критический | Нет подключения к машине, аппаратный сбой, недоступность локации | ≤ 30 минут | 24/7, без выходных |
| P2 Нарушение работы | Аномальная производительность, зависшая переустановка, периодические сетевые сбои | ≤ 4 часов | 24/7, без выходных |
| P3 Обычный | Консультации по использованию, вопросы по оплате, рекомендации по настройке | ≤ 12 часов | Рабочие дни |
Доступность и правила компенсации
- Гарантированная месячная доступность для одного инстанса — 99,9%, все локации работают непрерывно 365 дней в году, без плановых простоев.
- За каждое снижение фактической доступности ниже гарантированного уровня на 0,1% начисляется компенсация в виде купона на сумму 5% от стоимости услуг за месяц; максимальная компенсация за месяц — 100% стоимости услуг по данному инстансу за этот месяц.
- Для получения компенсации подайте заявку в панели управления с указанием периода сбоя — мы проверим данные мониторинга и выплатим компенсацию в течение 7 рабочих дней.
- Недоступность, вызванная обстоятельствами непреодолимой силы или действиями пользователя (например, случайное удаление системных файлов, ошибка в настройке сети), не учитывается при расчёте компенсации — но мы всё равно поможем всё исправить.
Как получить ответ максимально быстро
- Создавайте заявку после входа в панель управления — система автоматически добавит номер машины и данные локации, это быстрее, чем через почту.
- Опишите чётко: «когда произошло, что вы делали, какую ошибку увидели», приложите полный текст ошибки, а не скриншот — это значительно ускорит диагностику.
- По проблемам уровня P1 отмечайте заявку как «Критическая» непосредственно в системе заявок, а не через почту — обращения по почте обрабатываются по срокам P3.
- Полные условия компенсации — в условиях обслуживания, в спорных случаях приоритет имеет их формулировка.
Статус сервиса и уведомления — на одной странице
Актуальная доступность, историческая статистика и уведомления о событиях для локаций в Токио, Сингапуре и на западном побережье США публикуются на странице статуса. Если какое-либо событие влияет на работу сервиса, ход его устранения обновляется там же. Перед обращением в поддержку сначала загляните туда — так сразу станет понятно, проблема на стороне платформы или локальная.
-
JP ТокиоАктуальная доступность и график — на странице статуса
-
SG СингапурАктуальная доступность и график — на странице статуса
-
US-W Западное побережье СШААктуальная доступность и график — на странице статуса
Инструкции не подходят под вашу ситуацию?
Войдите в панель управления, создайте заявку и приложите точный текст ошибки — остальное сделаем мы.
Создать заявку в панели управления