Пишите код локально, а перед выпуском проверяйте его в Xcode.
Обычно вы пишете код на Windows, а macOS нужна только перед выпуском? Не меняйте основной компьютер ради редких сборок. Сначала проверьте зависимости проекта и версии инструментов, затем синхронизируйте тот же код с удалённым узлом.
- Передайте:Отправьте код и зафиксируйте версию коммита. Подготовьте на узле зависимости проекта, сертификаты для подписи и файлы конфигурации.
- Выполните:Откройте проект в Xcode, вручную выполните сборку и проверьте подпись, затем запустите тесты и архивирование.
- Заберите:Проверьте журнал сборки и содержимое архива, загрузите его в App Store Connect по своему процессу выпуска и сохраните копию артефактов.
Хотите запустить сборку перед сном и проверить результат утром? Для начала проверьте на небольшой задаче скрипты, права доступа и обработку ошибок. Узел работает постоянно, но это не гарантирует успешную сборку: настройте журналы и уведомления об ошибках.
Подходит / Не подходит
Подходит для срочного выпуска, отладки в Safari и краткосрочных проверок. Если вам ежедневно нужны локальные устройства для тестирования и частое подключение оборудования, удалённый рабочий стол не заменит Mac рядом с вами.
После слияния изменений передайте работу постоянному Mac-исполнителю.
Домашний Mac не должен быть единственной опорой CI команды: его питание и сеть могут быть ненадёжны для сборок. Зарегистрируйте удалённый узел как исполнитель macOS, чтобы каждое слияние запускало тесты iOS и архивирование. Команде больше не придётся по очереди занимать компьютер коллеги.
- Передайте:Настройте доступ к репозиторию, зарегистрируйте исполнитель и зафиксируйте версии инструментов и каталог сборки.
- Выполните:Сначала последовательно запустите тесты, подпись и архивирование. Затем настройте параллельные задачи с учётом фактического использования 16 ГБ объединённой памяти.
- Заберите:Сохраняйте журналы, отчёты о тестах и артефакты в существующем хранилище команды. Настройте уведомления об ошибках и очистку кеша.
Узел доступен круглосуточно и подходит для ночных очередей. Гарантия доступности 99,9% не означает, что каждый конвейер завершится успешно. Сбой загрузки зависимостей, ошибки скриптов и неудачные тесты должен обрабатывать и повторно запускать ваш конвейер.
Подходит / Не подходит
Подходит для CI и небольших команд, которым нужна стабильная среда. Не стоит запускать на одном узле много симуляторов и тяжёлых сборок одновременно. Сначала измерьте потребление памяти и размер очереди, а затем решайте, нужны ли дополнительные узлы.
Храните модели и настройки на узле, сравнивайте результаты поэтапно.
Хотите проверить вывод открытых моделей на Apple M4? Для начала арендуйте Mac на день и проверьте совместимость фреймворка, формат модели и требования к памяти. Если нужно хранить несколько наборов весов, рассмотрите SSD на +2 ТБ. Это увеличит объём хранилища, но не объединённую память.
- Передайте:Проверьте лицензию модели и совместимость с фреймворком, подготовьте веса, тестовые данные и фиксированный набор параметров.
- Выполните:Начните с небольших входных данных и фиксируйте расход памяти и результаты. Для долгих задач настройте контрольные точки, чтобы не запускать всё сначала после сбоя.
- Заберите:Сохраните конфигурацию, журналы и результаты. Сравнивайте параметры на одном наборе входных данных и своевременно скачивайте важные записи.
Если срок аренды покрывает задачу, эксперимент может идти несколько дней без включённого локального компьютера. Для долгой задачи в командной строке используйте способ, сохраняющий сеанс, и проверьте, что процесс продолжает работать после отключения клиента.
Подходит / Не подходит
Подходит для вывода моделей и небольших тестов, укладывающихся в 16 ГБ объединённой памяти. Не подходит для крупных моделей, которым нужно больше памяти, и масштабного обучения. Учитывайте квантование, длину контекста и накладные расходы среды выполнения.
Если для сдачи проекта нужна программа только для macOS или уже созданный проект, загрузите материалы на узел и выполните транскодирование и экспорт через удалённый рабочий стол. На локальном Windows-компьютере можно уточнять требования, проверять результат и передавать готовый файл.
- Передайте:Подготовьте материалы, шрифты и плагины. Убедитесь, что у вас есть лицензия на нужное ПО и возможность установить его на узел.
- Выполните:Сначала экспортируйте короткий фрагмент и проверьте связи с медиафайлами, настройки кодирования и формат результата. Затем запланируйте полный экспорт.
- Заберите:Скачайте готовый файл и проверьте на локальном компьютере изображение, звук и целостность. Удаляйте промежуточные файлы на узле только после сдачи результата.
При расчёте хранилища учитывайте исходные материалы, кеш и экспортированные файлы. Время загрузки и скачивания тоже входит в стоимость рабочего процесса. Удалённый предпросмотр зависит от сети и сжатия изображения, поэтому не заменяйте им проверку готового файла.
Подходит / Не подходит
Подходит для транскодирования в фоновом режиме, пакетного экспорта и завершения уже начатых проектов. Не подходит для мониторинга с низкой задержкой в реальном времени, записи с профессиональной внешней звуковой картой и задач со строгими требованиями к локальному дисплею.