👨💻 Xcode Cloud
Когда делаешь несколько приложений и готов начать проект в любой момент, важно автоматизировать все моменты которые только можно. Одной из таких автоматизаций является CI. Раньше я считал что это лишнее, ведь это так просто собрать сборку в test flight - занимает всего 10 минут.
Однако открыл для себя Xcode Cloud. Это готовый CI от Apple с настройкой пайплайна через UI и кастомизацией. Мне всегда было лень разбираться с Github CI и всеми этими настройками в YAML. Однако с Xcode Cloud разобрался за один вечер и уже на нескольких проектах откатал.
Сейчас в Xcode Cloud предоставляются бесплатные 25 часов в месяц, но с декабря он станет платным - $14.99/месяц. Небольшие расчеты показывают, что стоимость сборки в TestFlight в 10 минут составит всего $0.1. Совершенно небольшая цена за упрощение жизни.
Для кастомизации у вас есть несколько "методов жизненного цикла" сборки, в которые вы можете встроиться и выполнить свой bash-скрипт:
✅ post clone
✅ pre xcodebuild
✅ post xcodebuild
Внутри bash-скрипта можно использовать множество переменных окружения для доступа к ресурсам и чтения свойств билда.
При создании проекта я настраиваю следующие вещи:
✅ Пайплайны (запуск тестов на MR, сборка в TestFlight, сборка для App Store).
✅ Кастомизированный пайплайн:
🔷 post clone - использование Tuist.
🔷 post xcodebuild:
🔶 Загрузка dsym-файлов.
🔶 Установка тегов при сборке (чтобы потом можно было в любую сборку перейти и собрать локально).
Как я это использую:
✅ При создании Merge Request в master гоняются тесты.
✅ При необходимости я просто нажимаю кнопку, и запускается сборка (в TestFlight или в App Store).
🏁 В итоге я очень рад инвестиции в один вечер - автоматизация пришла и в мой дом)
📚 Ресурсы:
- Оф. документация
- Все ENV переменные
PS Если вам нужны конкретные скрипты для запуска Tuist, установки тегов или загрузки dsym-файлов, пишите.
Post #53
869


- 🔥 8
- 👨💻 2