От заказа до первого архивирования

Подключите облачный Mac к процессу сборки Xcode

Руководство охватывает выбор конфигурации, заказ, подключение, настройку среды, первое archive и подключение CI runner. Выполняйте шаги по порядку: сначала настройте воспроизводимый процесс релиза, затем добавляйте параллельность и кэширование.

3 конфигурации
Фиксированные конфигурации
4
Доступных региона
$20.7/день
Минимальная цена
BUILD RUN SHEET Первое архивирование iOS
Готово к запуску
Репозиторий кода Выделенный узел Артефакты архивирования
  1. 01
    Подтвердите конфигурацию и узелКонфигурация, срок, город и расширение хранилища должны совпадать
  2. 02
    Настройте среду XcodeПроверьте версии, инструменты командной строки, Git и менеджеры зависимостей
  3. 03
    Выполните первое archiveЗафиксируйте scheme, параметры подписи и экспорта
  4. 04
    Зарегистрируйте CI runnerИзолируйте рабочий каталог и настройте очистку после сборки
SG Сингапур JP Токио KR Сеул HK Гонконг
Физический узел Один заказ — один выделенный хост
Шаг 01

Перед началом зафиксируйте пять параметров

Скорость поставки зависит не от количества установленных инструментов, а от того, подтверждены ли заранее права аккаунта и репозитория, версия Xcode, узел и срок аренды.

Права разработчика

Убедитесь, что аккаунт Apple Developer имеет доступ к нужной команде, сертификатам, профилям и правам, необходимым для публикации. Не откладывайте проверку доступа к подписи до завершения archive.

Доступ к репозиторию

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

Версия Xcode

Точно зафиксируйте основную и сборочную версии проекта, а также проверьте совместимость Swift, SDK и инструментов командной строки. Версия runner должна быть фиксированной — не полагайтесь на временное переключение.

Расположение узла

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

Срок аренды

Для временной проверки подписи начните с посуточной или понедельной оплаты; для постоянной разработки и фиксированного runner лучше выбрать месяц или квартал. Ориентируйтесь на реальный план сборок, а не на предполагаемую загрузку.

Шаг 02

Выбирайте конфигурацию по нагрузке, а не по названию проекта

Все три варианта — выделенные физические машины Apple Silicon, не виртуальные машины. При выборе учитывайте число параллельных задач, объём зависимостей, размер кэша и потребность в единой памяти.

Лёгкая сборка

Go M4 Core

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

Чип
M4
Память
16GB
Хранилище
256GB
Выбрать Go M4 Core
Высокая нагрузка на память

Go M4 Pro

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

Чип
M4 Pro
Память
64GB
Хранилище
2TB
Выбрать Go M4 Pro
Шаг 03

При заказе сразу подтвердите четыре группы параметров

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

Проверка параметров заказа Проверить перед отправкой
HOST
Выберите одну из трёх основных конфигураций

Характеристики чипа, памяти и системного диска указаны на карточке конфигурации.

TERM
Выберите день, неделю, месяц или квартал

Срок дополнительных опций должен совпадать со сроком аренды хоста.

NODE
Выберите один из четырёх доступных узлов

Сингапур, Токио, Сеул и Гонконг доступны в конфигураторе.

ADD
Добавьте расширения под задачу

Можно добавить +1TB SSD, +2TB SSD или Thunderbolt 5 — по одному на машину.

Выбор узла

Сначала выбирайте ближайший к основному рабочему процессу

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

Подробнее об узлах
Информация о доступности

Ориентируйтесь на данные, возвращаемые консолью в реальном времени

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

Настроить заказ
Шаг 04

Сначала проверьте через графический интерфейс, затем подключайте автоматизацию

После получения данных для доступа сначала через VNC проверьте рабочий стол, клавиатуру, сеть и состояние системы; убедившись, что базовая среда работает, используйте SSH для скриптов и задач runner.

Подключение 01

Проверьте рабочий стол через VNC

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

  • Запишите адрес узла и время подключения
  • Убедитесь, что сеанс рабочего стола можно использовать непрерывно
  • Проверьте базовую загрузку и доступ к репозиторию
Подключение 02

Передайте повторяющиеся задачи SSH

Оформите получение кода, установку зависимостей, очистку кэша и запуск сборки в воспроизводимые скрипты. Учётные данные должны иметь минимальные права и храниться отдельно от журналов и артефактов сборки.

  • Ограничьте список проектов, доступных ключу
  • Зафиксируйте точку входа скрипта и рабочий каталог
  • Сохраняйте код возврата и журнал для неудачных команд
Шаг 05

Настройте среду разработки воспроизводимым образом

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

Команды проверки среды ENV-CHECK
$ sw_vers Проверить версию macOS
$ xcodebuild -version Проверить версии Xcode и сборки
$ xcode-select -p Проверить путь к инструментам командной строки
$ git --version Проверить доступность Git
$ fastlane --version Проверить версию инструмента автоматизации
  1. 01

    Проверьте системную учётную запись

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

  2. 02

    Завершите первый запуск Xcode

    Откройте нужный Xcode, установите необходимые компоненты и убедитесь, что инструменты командной строки указывают на ту же версию.

  3. 03

    Установите цепочку зависимостей проекта

    Устанавливайте менеджер пакетов и зависимости согласно lock-файлам проекта; не обновляйте зафиксированные версии вслепую перед первой сборкой.

  4. 04

    Зафиксируйте Fastlane и точки входа скриптов

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

Шаг 06

Первая облачная сборка Xcode должна проверить основной процесс

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

01

Получите зафиксированную версию

Используйте конкретную ветку, тег или идентификатор коммита. Синхронизируйте подмодули и lock-файлы зависимостей, записав коммит, соответствующий этой сборке.

02

Проверьте scheme

Сначала выполните xcodebuild -list и проверьте доступные scheme. Убедитесь, что нужная scheme опубликована для общего доступа и подходит для сборки из командной строки.

03

Проверьте материалы подписи

Проверьте сертификаты, профили, Bundle Identifier и права команды. Пароли подписи нельзя хранить в репозитории или обычных журналах сборки.

04

Выполните archive

Явно укажите workspace или project, scheme, configuration и путь к архиву; при сбое сохраните полный код возврата и журнал.

05

Проверьте экспортированный артефакт

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

Критерий успеха Один и тот же коммит повторно создаёт корректный архив той же командой
Пока не оптимизируйте Параллельность, коэффициент попаданий в кэш и скорость инкрементальных сборок
Шаг 07

Передайте сборки self-hosted runner под контролируемое управление

Регистрируйте runner только после успешного первого archive. Главное — не просто быть «онлайн», а изолировать рабочие каталоги, чётко задать метки, ограничить права проекта и восстанавливать среду после каждой задачи.

Рабочий каталог

Каждый runner использует отдельный путь

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

Метки

Метки описывают возможности, а не временную задачу

Метки могут указывать регион, основную версию Xcode и уровень нагрузки. Не включайте в долгосрочные метки название проекта, имя сотрудника или краткосрочную ветку.

Область доступа

Авторизуйте только проекты, которым нужен запуск

Ограничьте репозитории и переменные, доступные runner. Права на подпись релизов и тестовые сборки разделяйте по рабочим процессам.

Правила очистки

Удаляйте чувствительные остатки после завершения задачи

Удаляйте временные учётные данные, конфигурации экспорта и ненужные артефакты; управляйте кэшем по каталогу, объёму и времени обновления, не очищая всё без разбора.

Шаг 08

Проведите финальную проверку перед запуском

Добавьте пункты ниже в командное руководство по эксплуатации. Только после успешной проверки runner готов принимать задачи непрерывной сборки и распространения через TestFlight.

Сертификаты и профили

Проверьте срок действия, принадлежность команде, Bundle Identifier и область использования, а также назначьте ответственного за обновление.

Свободное место на диске

Проверьте объём исходного кода, DerivedData, кэша зависимостей, архивов и экспортированных артефактов; оставьте запас для последовательных сборок.

Стратегия кэширования

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

Цепочка TestFlight

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

Удаление конфиденциальных данных

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

Порядок эскалации при сбое

Запишите номер заказа, узел, время воспроизведения, журнал ошибки и выполненные шаги; если нужна помощь, отправьте тикет через консоль.

READY Первая сборка воспроизводима, права runner контролируются, конфиденциальные данные удалены
Отправить тикет через консоль

Готовы? Начните с одного выделенного узла

Выберите конфигурацию, срок и узел, сначала выполните первое архивирование Xcode, затем подключите стабильную команду к очереди CI.