MacStadium или GitHub Actions для iOS CI
MacStadium и GitHub Actions ищут вместе, потому что они решают одну задачу с противоположных сторон. GitHub продаёт минуты на общих Mac, которых вы никогда не видите. MacStadium сдаёт в аренду целый Mac на своей площадке и разрешает делать с ним что угодно. На этой странице разобрано, когда что подходит. И описан промежуточный вариант, который на самом деле ищут большинство небольших команд.
Что это такое на самом деле
- Hosted раннеры macOS у GitHub это временные виртуальные машины с поминутной оплатой, примерно от $0.062 до $0.102. Между задачами ничего не сохраняется. Нулевая настройка, нулевое обслуживание, а счёт растёт с каждой сборкой.
- MacStadium это выделенное железо Apple на их площадке с помесячной арендой. Есть ещё Orka для команд, которым нужна виртуализация macOS в больших масштабах. Вы получаете root на настоящем Mac и запускаете на нём любой CI, включая GitHub Actions. Планы поддержки и настройка оплачиваются отдельно. Продукт создан с расчётом на корпоративные парки машин.
Когда правильный ответ это hosted раннеры GitHub
- Вы собираете несколько раз в неделю, и счёт не превышает ста долларов.
- У вас нет и не будет человека, который захочет отвечать за машину.
- Вам нужна большая параллельная матрица, которую одна машина не потянет.
- Ваши репозитории публичные, а для них hosted раннеры бесплатны.
Когда правильный ответ это выделенный Mac
- Вы тратите больше примерно 2,242 минут macOS в месяц. Здесь машина за фиксированную цену дешевле поминутной оплаты.
- Вам важны прогретые кэши. DerivedData, SwiftPM и CocoaPods остаются на диске, и 12-минутные сборки превращаются в 4-минутные.
- Вы хотите сами фиксировать Xcode и среду выполнения симулятора, а не подстраиваться под обновления hosted образов.
Промежуток между ними
Сила MacStadium в мощностях и корпоративных процессах: много машин, виртуализация, контракты, служба поддержки. Команде iOS из пяти человек столько не нужно. К тому же это требует работы: зарегистрировать раннер, поддерживать службу и стирать машину, когда кто-то уходит. Hosted раннеры GitHub снимают эту работу, но берут за неё плату в каждой минуте.
MacRun намеренно занимает этот промежуток. Один выделенный M6 mini на команду, уже зарегистрированный как раннер GitHub Actions, за фиксированные $139 в месяц. Контроль и стирание мы берём на себя. Это цена выделенного железа без хлопот с выделенным железом. Прямое сравнение с MacStadium разбирает всё по пунктам.
Простой способ решить
under 2,242 macOS min/mo GitHub-hosted, keep it simple over 2,242, one team one dedicated Mac, flat price many teams, many machines MacStadium (or a fleet of dedicated units)
Частые вопросы
Можно ли запускать GitHub Actions на машине MacStadium?
+
Да. Mac от MacStadium это обычный хост с macOS. Вы устанавливаете на него агент self-hosted раннера GitHub и указываете его в workflow. Регистрация, обновления и аптайм остаются на вас.
MacStadium дешевле hosted раннеров GitHub?
+
При стабильных ежедневных сборках обычно да. Выделенный Mac стоит фиксированную сумму в месяц, а hosted macOS у GitHub стоит примерно от $0.062 до $0.102 за минуту. Для машины за $139 точка пересечения около 2,242 минут macOS в месяц.
Что MacRun даёт по сравнению с арендой Mac самому?
+
Раннер предустановлен и под контролем. Xcode зафиксирован. Подготовка занимает часы, а не дни. Когда аренда заканчивается, машину автоматически стирают и выдают заново. Вы меняете две строки YAML и собираете.
Теряю ли я параллельность с одним выделенным Mac?
+
Задачи на одной машине идут по одной. Если в каждом pull request нужна широкая матрица, добавьте машины. Или оставьте матрицу на hosted раннерах GitHub, а сборку основной ветки перенесите на выделенный Mac.