С локального компьютера в облако
Три этапа переноса — три контрольные точки
Сначала запустите разовую сборку одного и того же коммита, затем настройте автоматический запуск. Указанное время — ориентир для планирования, а не срок выполнения: фактическая продолжительность зависит от размера репозитория, сети, загрузки зависимостей и подготовки подписи.
01 / Данные
Синхронизируйте исходный код, но не кеш сборки
Заложите 15–45 минут; для репозиториев с крупными ресурсами потребуется больше времени.
В первую очередь клонируйте из системы контроля версий нужный коммит. Если нужно перенести ещё не зафиксированные файлы, используйте SFTP или rsync. Исключите DerivedData, каталог build проекта и локальные журналы, чтобы не переносить устаревшие пути и кеш на новую машину.
Сначала проверьте список файлов с помощью dry-run, затем запустите синхронизацию. Вместо USER и NODE_IP укажите значения, предоставленные для экземпляра. Для пользовательского порта SSH нужна дополнительная настройка.
rsync -av --dry-run \
--exclude='DerivedData/' \
--exclude='build/' \
./ USER@NODE_IP:~/project/
git rev-parse HEAD
git status --short
Готово, если: коммиты на обеих сторонах совпадают, все ресурсы на месте, конфиденциальные настройки не попали в репозиторий кода.
02 / Инструменты
Восстановите зависимости и среду подписи
Заложите 30–90 минут; при первой загрузке может потребоваться больше времени.
Запишите версии локальных Xcode, SDK, Homebrew и зависимостей скриптов. Сначала проверьте, установлен ли Homebrew, командой brew --version . Если в проекте есть Brewfile, восстановите зависимости по нему.
Передайте p12 и профили подготовки для подписи по зашифрованному соединению. Импортируйте сертификат в отдельную связку ключей, а профиль поместите в каталог пользователя сборки. Не записывайте пароли в репозиторий или журнал сборки.
brew --version
xcodebuild -version
xcodebuild -showsdks
security find-identity -v -p codesigning
Готово, если: SDK соответствует требованиям проекта, сертификат для подписи действителен, ручная архивация завершается без ошибок.
03 / Интеграция CI
Зарегистрируйте Runner, затем включите автоматический запуск
Заложите 20–60 минут без учёта времени на тестирование проекта.
Установите GitHub Actions self-hosted Runner или GitLab Runner по инструкции регистрации, сформированной вашей платформой для работы с кодом. Токен регистрации используйте только при настройке; не храните пароль от машины в рабочем процессе.
Проверьте метки self-hosted, macOS и ARM64 . Сначала вручную запустите сборку фиксированного коммита и проверьте рабочий каталог, путь к артефактам и права подписи. Только после этого включайте автоматическую сборку веток.
uname -m
sw_vers -productVersion
xcode-select -p
git rev-parse HEAD
Готово, если: Runner подключён, выбран нужный коммит, архив сборки можно получить, а в журнале нет учётных данных.
Если на одном физическом узле одновременно выполняется несколько задач, они совместно используют процессор, унифицированную память и SSD. Сначала ограничьте число параллельных задач, а затем постепенно увеличивайте его, чтобы не принять конкуренцию за ресурсы на машине за неисправность узла.