Self-hosted CI-раннеры
Ваш выделенный Mac прекрасно подходит на роль self-hosted CI-раннера — полная производительность, постоянные кеши и отсутствие поминутной оплаты за macOS.
На вашем Mac откройте Settings → Actions → Runners → New self-hosted runner в вашем репозитории и следуйте инструкциям для macOS:
mkdir actions-runner && cd actions-runnercurl -o actions-runner-osx-arm64.tar.gz -L <URL-from-GitHub>tar xzf actions-runner-osx-arm64.tar.gz./config.sh --url https://github.com/ORG/REPO --token <TOKEN>./run.sh # or install as a service:./svc.sh install && ./svc.sh startУкажите его в рабочем процессе с помощью runs-on: self-hosted (или собственной метки).
brew install gitlab-runnergitlab-runner register \ --url https://gitlab.com/ \ --registration-token <TOKEN> \ --executor shell \ --description "mac-mini-m4"brew services start gitlab-runnerИспользуйте соответствующую запись tags: в .gitlab-ci.yml.
Запустите агент Jenkins через SSH или JNLP. Добавьте Mac как узел (Manage Jenkins → Nodes → New Node), задайте удалённый корневой каталог (например, /Users/your-username/jenkins) и подключитесь через SSH-запуск, используя ваш SSH-ключ.
Поддержание работоспособности
Заголовок раздела «Поддержание работоспособности»- Регулярно очищайте DerivedData и старые симуляторы, чтобы освободить место на диске.
- Фиксируйте версии Xcode с помощью
xcodes, чтобы сборки были воспроизводимыми. - Следите за свободным местом с помощью
df -h; при необходимости повысьте тариф SSD.