use-cases --list ci packaging desktop

Чем именно занят управляемый Mac для Xcode CI каждый день

Команды арендуют Mac mini M4 в основном для трёх задач: сборки CI, подготовки и нотаризации релизов, а также посуточного или помесячного удалённого рабочего стола macOS. Разберём, как подключить каждый сценарий.

Сценарий 01 · CI/CD

Узел сборки, к которому конвейер действительно может подключиться

GitHub Actions, GitLab CI и Buildkite используют одну и ту же идею: зарегистрируйте self-hosted раннер и направьте на него задачи macOS. Арендованный Mac mini M4 и есть этот раннер — выделенный Apple Silicon без очереди из-за других арендаторов и без поминутной тарификации.

  1. Установите агент раннера по SSH — загрузите бинарник раннера от вашего CI-провайдера, зарегистрируйте его токеном репозитория или организации и присвойте тег вроде macos-arm64.
  2. Направляйте задачи одной меткой — укажите новый тег в runs-on. Xcode, симулятор и тулчейн сохраняются между задачами, а тёплый кэш сокращает время сборки.
  3. Масштабируйтесь по периодам, а не по головам — один месячный узел спокойно тянет PR-сборки небольшой команды. Перед релизным рывком добавьте узел на неделю и отключите его после релиза.
Читать подробный гайд по настройке CI
Сценарий 02 · Сборка и релиз

Сборка и нотаризация на одной стабильной машине

Именно на подписи чаще всего спотыкаются общие ферма-сборщики: сертификаты оседают во временном брелоке, профили подготовки пропадают между задачами, а незапланированное мелкое обновление macOS в пятницу неожиданно ломает шаг архивации. Выделенная машина убирает всю эту нестабильность.

  1. Импортируйте сертификаты один раз — загрузите Developer ID и сертификаты дистрибуции в постоянный брелок и не проходите настройку заново перед каждым релизом.
  2. Зафиксируйте версии системы и Xcode — вы сами решаете, когда обновлять macOS и Xcode. Окружение для нотаризации v1.4 и v1.5 будет побайтово одинаковым.
  3. Автоматизируйте весь релизный процесс — свяжите archive, codesign и notarytool в один lane fastlane или shell-скрипт, запускаемый по SSH в любой момент.
Посмотреть вопросы про сборку и релизы
Сценарий 03 · Удалённый рабочий стол

macOS на короткий срок с посуточной оплатой

Иногда задача не про конвейер, а про то, что кому-то нужен доступ к macOS на несколько дней. Воспроизвести баг, который проявляется только в Safari, протестировать сайт на настоящем macOS, запустить утилиту, доступную только на Mac, или дать подрядчику рабочее место без пересылки железа через границу — во всех этих случаях подходит удалённый рабочий стол macOS с оплатой посуточно или помесячно.

  1. Арендуйте ровно на нужный период — суточный тариф за $19.3 закрывает разовую охоту за багом; недельный или месячный период — контракт с подрядчиком или раунд QA.
  2. Подключайтесь по VNC с любой системы — откройте полноценный рабочий стол macOS с Linux или Windows. Finder, Safari, графический интерфейс Xcode и симулятор ведут себя так же, как на настольной машине.
  3. Просто закончите и уйдите — по истечении аренды машина очищается и возвращается в пул, ничего передавать, возвращать или амортизировать не нужно.
Подробное сравнение периодов аренды

Купить Mac или арендовать по периодам?

Дело не только в цифре на ценнике — важны время простоя, вложения на старте и то, кто будет ремонтировать машину при поломке.

Покупка железа

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

  • Сотни долларов вперёд ещё до первой сборки, плюс доставка и таможня, если команда за границей.
  • Амортизация идёт независимо от загрузки — CI-хост, который используется два спринта в квартал, всё равно оплачен полностью.
  • Электричество, статический IP, восстановление после сбоя диска и обслуживание системы — всё на вас.

Аренда по периодам

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

  • Ноль капитальных вложений: оплата посуточно, понедельно, помесячно или поквартально, счёт растёт только когда машина нужна.
  • Электричество, канал и замена железа в дата-центре уже включены в цену.
  • Нужно больше диска в середине проекта? Добавьте доп. SSD +1ТБ от $11.7/мес. без новой закупки оборудования.
Сутки $19.3/сутки
Неделя $52.2/нед.
Месяц $96.7/мес.
Квартал $263/кварт.

Mac Mini M4 · 16GB / 256GB, цены в долларах США, выделенное железо.

Подберите период оплаты под свою нагрузку

Один день для охоты за багом, один квартал для постоянного раннера. Выберите регион, выберите период — и Mac mini M4 будет готов за считанные минуты.