CDNMac M4
Mac mini M4 для сборки iOS, разработки и тестирования macOS, а также задач непрерывной интеграции.
Шесть регионов на выбор
Актуальные сведения о доступности, сроках передачи и дополнительных опциях отображаются в консоли.
Выберите CDNMac M4 и подходящий регион, оформите заказ и получите данные для доступа к системе. Затем защитите подключение, проверьте среду Xcode, выполните Archive и перенесите артефакты в контролируемое хранилище.
На каждом шаге есть чёткие входные и выходные данные. Не загружайте ключи проекта, пока не защитили данные для подключения, и не запускайте задачи релизной сборки, пока не проверили среду разработки.
Учитывайте длительность задачи, местонахождение разработчиков, расположение репозитория и пути загрузки зависимостей. Результат одного замера задержки — лишь ориентир, он не заменяет проверку реальной сборкой.
Результат: черновик конфигурации заказаЕщё раз проверьте CDNMac M4, период оплаты, регион, расширение SSD и количество устройств в связке Thunderbolt 5. Итоговая сумма зависит от выбора на странице оплаты.
Результат: идентификатор заказаПроверьте в консоли состояние устройства, данные для доступа к системе и панель управления. Актуальные сведения о доступности и передаче оборудования отображаются в консоли.
Результат: данные доступа, которые можно проверитьИспользуйте для входа прежде всего SSH-ключи, ограничьте список разрешённых источников и разделяйте учётные данные для командной строки и графического сеанса. Назначьте ответственного за ротацию учётных данных.
Результат: контролируемый путь подключенияУбедитесь, что macOS, Xcode, Command Line Tools, Git, сертификаты и профили provisioning соответствуют требованиям проекта, а затем восстановите зависимости.
Результат: запись проверки средыСоздайте Archive тестового репозитория, проверьте подпись, журналы и экспортированные файлы, затем скопируйте необходимые артефакты в хранилище команды.
Результат: первая сборка с отслеживаемыми даннымиЭтот список поможет сократить изменения конфигурации и дополнительные согласования после оформления заказа. Ответственный за проект должен дать чёткий ответ по каждому пункту.
Уточните, нужна ли вам автоматическая сборка iOS, разработка и тестирование macOS, кроссплатформенная мобильная сборка или проверка совместимости моделей с Apple Silicon.
Выберите Сингапур, Японию (Токио), Южную Корею (Сеул), Гонконг, восток США или запад США и запишите, чем обусловлен выбор.
Посуточная аренда подходит для разовых проверок, недельная — для коротких интенсивных работ, месячная или квартальная — для постоянных сборок. Не сравнивайте только отдельные цены.
В базовую конфигурацию входит SSD на 256 ГБ. Оцените пиковый объём исходного кода, кэша зависимостей, DerivedData, Archive и журналов, а затем решите, нужно ли расширение SSD.
Рассматривайте объединение устройств через Thunderbolt 5, только если вам действительно нужен параллельный рабочий процесс. Уточните количество устройств и зоны ответственности для каждого.
Подготовьте способ доступа к репозиторию с минимальными правами. Не используйте повторно личные токены с длительным сроком действия и не храните в репозитории закрытые ключи, токены или пароли сертификатов.
Заранее выберите место хранения Archive, экспортированных пакетов, файлов символов и журналов сборки. Запланируйте экспорт данных до окончания срока аренды.
Сейчас доступна одна конфигурация с выделенным физическим компьютером. Каждый заказ включает отдельный облачный Mac, ресурсы не распределяются между заказами; это не виртуальная машина.
Mac mini M4 для сборки iOS, разработки и тестирования macOS, а также задач непрерывной интеграции.
Актуальные сведения о доступности, сроках передачи и дополнительных опциях отображаются в консоли.
Подходит для длительной разработки, когда нужно хранить больше кэша зависимостей, Archive и журналов сборки.
Подходит для больших каталогов зависимостей, наборов данных, файлов моделей или длительного хранения артефактов.
Оплата за каждое устройство. Для проверенных сценариев параллельной работы; характеристики базовой модели не меняются.
Все цены и заказы оплачиваются в долларах США (USD). Фактически доступный платёжный шлюз определяется ответом серверного API.
Перед оплатой проверьте сумму заказа, сеть и платёжные реквизиты. После перевода сохраните идентификатор транзакции, чтобы связать платёж с заказом или уточнить детали счёта.
Валюта расчётов: USDОплата картой обрабатывается через Stripe. Проверьте платёжные данные и сумму заказа, затем подтвердите платёж. Не отправляйте полные платёжные реквизиты в запросах в поддержку.
Платёжный шлюз: StripeСверьте модель, срок аренды, регион, расширение SSD, количество устройств в связке и общую сумму в USD с согласованным черновиком конфигурации.
После оформления заказа проверьте в консоли состояние устройства, данные для доступа к системе и панель управления. При первом подключении проверьте учётные данные и параметры среды — не загружайте сразу рабочие ключи.
Оба способа подключения могут использоваться одновременно, но учётные данные, разрешения и сценарии применения следует разделять. Не встраивайте долгосрочные ключи в скрипты и журналы сборки.
Подходит для работы с Git, восстановления зависимостей, запуска скриптов, сбора журналов, создания Archive и работы self-hosted runner. Используйте отдельные ключи и выдавайте минимальные права для каждой задачи автоматизации.
Подходит для первой проверки Xcode, просмотра графических настроек, работы с инструментами, которым нужен интерфейс, и проверки Archive. Графический сеанс — не повод делиться учётными данными.
Недостаточно убедиться, что Xcode открывается. Запишите версии, пути, состояние данных для подписи и свободное место на диске — так будет проще найти причину сбоя.
| Параметр | Что проверить | Критерий успешной проверки | Что делать при проблеме |
|---|---|---|---|
| macOS | Запишите версию системы и доступное место на диске | Соответствует требованиям проекта к инструментам; места хватает для зависимостей, кэша и Archive | Удалите ненужный кэш и проверьте, достаточно ли объёма SSD |
| Xcode | Сверьте основную версию, необходимую проекту, и выбранный путь | Проект открывается, целевой SDK и настройки сборки доступны | Выберите нужную версию и заново обработайте проект |
| Command Line Tools | xcode-select -p |
Путь ведёт к нужному набору инструментов Xcode | Исправьте выбранный путь, затем проверьте версии команд |
| Git | git --version и проверьте доступ к репозиторию с минимальными правами |
Тестовый репозиторий доступен для чтения, долгосрочные учётные данные не раскрыты | Проверьте права ключей, ограничения по источникам и разрешения для репозитория |
| Сертификаты и профили provisioning | Проверьте название, назначение, срок действия и идентификатор проекта | Соответствуют тестовой цели; ненужные материалы не добавлены | Попросите ответственного за проект предоставить правильные данные |
| Файл блокировки зависимостей | Убедитесь, что файл блокировки добавлен в репозиторий и соответствует целевой ветке | Восстановление зависимостей воспроизводимо, неявного обновления не было | Повторите восстановление из коммита, соответствующего файлу блокировки |
sw_vers
xcodebuild -version
xcode-select -p
git --version
df -h
Цель первой задачи — не выпуск релиза, а проверка полного цикла: доступ к коду, восстановление зависимостей, Archive, проверка подписи, сохранение журналов и экспорт артефактов.
Используйте учётные данные с минимальными правами, чтобы получить заведомо собираемый коммит. Запишите хеш коммита и целевую ветку.
git clone <адрес-репозитория>
Восстановите зависимости по файлу блокировки проекта. Если нужны CocoaPods, Flutter или другие инструменты, сначала запишите их версии.
Файл блокировки должен соответствовать целевому коммиту
Явно укажите workspace, scheme, configuration и archivePath, чтобы не полагаться на неявные значения графического интерфейса.
xcodebuild archive -workspace App.xcworkspace -scheme App -archivePath build/App.xcarchive
Убедитесь, что идентификатор приложения, сертификат, профиль provisioning и настройки экспорта соответствуют тестовой задаче. Не игнорируйте предупреждения о подписи.
Запишите результат проверки подписи и этап сбоя
Сохраните время начала и окончания, хеш коммита, версии инструментов и этап сбоя. Перед отправкой журналов удалите токены, чувствительные названия из путей и пароли сертификатов.
В журналах должна быть связь с заказом, регионом и коммитом
Скопируйте Archive, экспортированные файлы и необходимые файлы символов в хранилище команды. Проверьте целостность файлов и права доступа.
Очищайте рабочую область только после завершения экспорта
После ручной проверки зарегистрируйте выделенный физический компьютер как self-hosted runner. Изолируйте учётные данные автоматизации, рабочие каталоги и правила очистки для каждого репозитория.
Задайте runner понятное имя, укажите регион, проект и ответственного. Сначала запустите задачу только для чтения и лишь затем разрешите сборку.
Запишите: имя, регион, репозиторий, ответственныйВыдайте токену только те разрешения на работу с репозиторием, которые нужны для текущей задачи. Не сохраняйте токен в исходном коде, кэше, журналах сборки или загружаемых артефактах.
Принцип: одна задача — минимальный набор правИспользуйте отдельный каталог для каждого репозитория. Определите, какой кэш можно переиспользовать, какие артефакты нужно экспортировать и как очищать данные после успеха, сбоя или отмены задачи.
Правило: изоляция репозиториев, уровни кэша, очистка после сбояХеш коммита, версии инструментов, время начала и окончания задачи, результат восстановления зависимостей, путь к Archive и данные проверки артефактов.
Закрытые ключи, токены доступа, пароли сертификатов, полные платёжные реквизиты и чувствительные данные проекта, не относящиеся к устранению проблемы.
Экспортируйте нужные артефакты, отзовите токены автоматизации, удалите учётные данные репозитория и проверьте, что в рабочем каталоге и кэше не осталось материалов проекта.
До заказа выберите срок аренды, один из шести регионов и дополнения. После заказа защитите подключение, проверьте Xcode и создайте первый Archive.