Передайте задачи, не переписывая процессы

Пусть
облачный Mac на Apple Silicon

Ночные сборки, автотесты, эксперименты с моделями. Продолжайте работать привычными инструментами, а задачи поручите выделенному физическому Mac mini — не виртуальной машине.

Выберите задачу, которую можно проверить, и запустите её посуточно. Затем подберите модель и срок аренды с учётом потребления памяти, роста объёма данных и частоты запусков.

Две конфигурации · пять локаций · $20.2в день. Актуальная доступность отображается в консоли.

Начните с текущей задачи

Четыре типа задач — четыре способа начать

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

01 / СБОРКА

Ночные сборки React Native

Пишите код на локальном компьютере днём, а ночную сборку iOS запускайте в облаке. Начните с фиксированной ветки и проверьте, что версии Node, CocoaPods, Xcode и Fastlane позволяют воспроизвести текущий результат.

Начните с одной задачи в очереди и сохраните файл фиксации зависимостей. Храните кэш зависимостей отдельно от итоговых артефактов. Не очищайте весь кэш после каждой сборки и не добавляйте материалы для подписи в репозиторий.

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

Рекомендуем аренду на неделю · на цикл релиза

Flow M4
M4 / 16 ГБ / 256 ГБ

Арендовать Flow M4 для сборок
02 / РЕЛИЗ

Сборка Flutter для нескольких платформ

Собирайте приложения для iOS и macOS в одной среде macOS. Зафиксируйте версии Flutter SDK, Dart и Xcode, чтобы один и тот же коммит собирался локально и в облаке с одинаковыми параметрами.

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

Проверьте три вещи:диагностика среды проходит, целевой артефакт создаётся, логи и артефакты можно передать обратно. Если нужно одновременно запускать несколько сборок, сначала оцените Flow M4 Pro, а не выкручивайте параллелизм на максимум.

Рекомендуем аренду на месяц · стабильная среда разработки

Flow M4
M4 / 16 ГБ / 256 ГБ

Арендовать Flow M4 для сборок
03 / ИНФЕРЕНС

Эксперименты с локальным инференсом MLX

Проверьте квантованные модели на M4 Pro с 64 ГБ объединённой памяти. Заранее выберите версию модели, метод квантования, длину контекста и тестовые данные. При расчёте объёма памяти учитывайте расходы среды выполнения и кэша.

Для каждого эксперимента используйте отдельное окружение Python. Храните веса моделей, загруженный кэш и результаты экспериментов в разных каталогах. Если файлов модели много, рассмотрите дополнительный SSD на +2 ТБ, чтобы не загружать файлы повторно и не занимать системный диск.

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

Сначала тест посуточно · затем долгосрочная аренда

Flow M4 Pro
M4 Pro / 64 ГБ / 2 ТБ

Арендовать Flow M4 Pro для экспериментов
04 / ТЕСТЫ

Регрессионные тесты XCUITest

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

Сохраняйте пакет результатов, снимки экрана с ошибками и идентификатор соответствующего коммита после каждого запуска. Если тестам нужна графическая сессия, сначала проверьте её настройки: доступ по SSH сам по себе не гарантирует запуск всех UI-тестов.

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

Рекомендуем аренду на неделю · на цикл регрессионных тестов

Flow M4 Pro
M4 Pro / 64 ГБ / 2 ТБ

Арендовать Flow M4 Pro для тестов
Сначала проверьте параллельный запуск, затем переключайтесь

Три этапа переноса задач с локального компьютера

Проверяйте отдельно данные, инструменты и CI. Если что-то не работает, вернитесь к нужному этапу — не меняйте всё одновременно.

01 · ДАННЫЕ

Сначала перенесите код и кэш

На локальном Mac

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

На облачном Mac

Создайте каталог проекта и перенесите файлы с помощью rsync в режиме инкрементальной синхронизации. Если проект и кэш занимают много места, оцените необходимость дополнительного SSD на +1 ТБ или +2 ТБ. Фактическое расположение смонтированного диска проверьте на компьютере.

Задайте MAC_HOST как адрес подключения и выполните команду

rsync -av --progress ./ "$MAC_HOST:~/workspace/"

Передача завершена:файлы доступны для чтения и записи, права на каталоги настроены верно, контрольные суммы важных файлов совпадают. Синхронизация через rsync не заменяет отдельную резервную копию. При первом переносе не включайте удаление файлов в целевом каталоге.

02 · ИНСТРУМЕНТЫ

Устраните различия в версиях

На локальном Mac

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

На облачном Mac

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

Проверьте версии инструментов разработки и пути

xcodebuild -version
xcode-select -p

Передача завершена:Сборка проходит на одном и том же коммите с одинаковыми параметрами. Сначала выполните полную команду вручную, затем подключайте автоматизацию. Не назначайте непроверенную среду исполнителем по умолчанию.

03 · ПОДКЛЮЧЕНИЕ CI

Сначала запустите новую метку, старый способ сохраните

На локальном Mac

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

На облачном Mac

Зарегистрируйте self-hosted runner и задайте отдельную метку с минимально необходимыми правами. Сначала направьте на новый узел тестовую ветку, проверьте загрузку артефактов и передачу логов, а затем переключите метку в рабочем конвейере.

Пример метки исполнителя GitHub Actions

runs-on: [self-hosted, macOS, ARM64, cloud-build]

Передача завершена:задача действительно выполняется на новом узле, результат можно отследить, секреты не попали в вывод. Не давайте непроверенным внешним коммитам доступ к runner с материалами для подписи.

Выбирайте по узкому месту, а не по названию

Сначала выберите объём памяти, затем оцените хранилище и совместную работу

Для лёгких сборок начните с Flow M4; для параллельных сборок и MLX рассмотрите Flow M4 Pro. Совместная работа нескольких компьютеров — отдельная конфигурация: она не превращает их в одну машину с большим объёмом памяти.

Задачи для двух конфигураций и что проверить в пробном запуске
Задача и узкое место Рекомендуемая конфигурация Рекомендуемый срок Что проверить при пробном запуске
Лёгкие сборки, одна задача в очереди Flow M4
M4 / 16 ГБ / 256 ГБ
Аренда на неделю для цикла релиза; если работа стабильна, рассмотрите месячную. Время сборки с холодным и тёплым кэшем, пиковое потребление памяти, рост каталога сборки.
Параллельные сборки, несколько задач с симуляторами Flow M4 Pro
M4 Pro / 64 ГБ / 2 ТБ
Сначала проверьте параллельную работу посуточно, затем запускайте полный набор тестов на неделю. Постепенно увеличивайте число задач и следите за нагрузкой на память, стабильностью тестов и записью на диск.
Инференс квантованных моделей MLX Flow M4 Pro
M4 Pro / 64 ГБ / 2 ТБ
Начните с тестов посуточно; после проверки модели выберите месячную или квартальную аренду. Суммарный объём весов, контекста и кэша среды выполнения; пропускная способность на фиксированных входных данных.
Проект, модель или кэш занимают много места на диске Выберите конфигурацию по требуемому объёму памяти и отдельно оцените SSD на +1 ТБ или +2 ТБ. Проверьте стоимость дополнительного диска для выбранного срока аренды. Расположение каталогов и смонтированного диска, свободное место и наличие отдельной резервной копии.
Совместная работа нескольких узлов Выберите конфигурацию под задачи на одном компьютере, затем рассмотрите объединение по Thunderbolt 5 — оплата за каждый компьютер. Сначала проверьте совместимость ПО и требования к подключению, затем выберите срок аренды. Разделение задач и способы передачи данных. Объединение по Thunderbolt 5 не складывает объём объединённой памяти автоматически и не гарантирует автоматическое распределённое выполнение ПО.

Как выбрать узел

Доступны пять локаций: Сингапур, Япония (Токио), Южная Корея (Сеул), Гонконг и восток США. Обе конфигурации доступны во всех локациях. Для интерактивной работы выбирайте узел ближе к пользователю; для автоматических сборок учитывайте также маршрут передачи кода и артефактов.

Как фиксировать результаты теста

Используйте один и тот же коммит и версии инструментов; отдельно записывайте время подготовки, сборки, тестирования и загрузки. Без одинаковых входных данных и среды один быстрый запуск не доказывает, что задача подходит для долгосрочной работы.

Сформулируйте цель миграции

Меньше переносов — больше проверок

Сформулируйте цель так, чтобы её можно было проверить: исходный процесс выполняется до конца или эксперимент подтверждает совместимость. После этого решайте, что делать дальше.

«Перенесли CI с локального компьютера на узел в Сеуле — изменили одну строку с меткой конвейера, и всё заработало».

Инженер команды React Native

«Сначала арендовал компьютер для MLX посуточно, а когда убедился, что его хватает, перешёл на квартальную аренду».

Разработчик прототипов продуктов на базе ИИ

Выберите задачу и попробуйте на одном компьютере

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

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