👍 🔄 CI глазами мобильщика
Наткнулся на статью — Building closed-source binaries with GitHub Actions от Daniel Saidi.
По-мимо пиара своего доклада и shell-скриптов на GitHub. 😁
Автор описывает автоматизацию сборки xcframework-ов, но по сути затрагивает общую суть мобильного CI-процесса — и это релевантно и для приложений.
Если свести к базовым этапам:
1️⃣ Написали код
2️⃣ Подготовили сертификаты и профили подписи
3️⃣ Определились с системой CI
4️⃣ Реализовали изолированную работу с keychain и подписью (fastlane match — отличный вариант или как в статье ручными вызовами security, иногда может быть лучше из-за багов fastlane, с изоляцией там точно были проблемы)
5️⃣ Изолировали Xcode toolchain (через fastlane xcodes, или руками через xcode-select)
6️⃣ Собрали артефакт (fastlane gym или xcodebuild)
7️⃣ Выпустили релиз в репозиторий, а при необходимости — в App Store
📦 Вся эта цепочка — ядро мобильного CI.
Важно отметить, что в мобилке по сути нет классического CD — всё упирается в ручную модерацию, сертификацию и контроль релиза.
Конечно, вокруг CI ещё можно строить целую инфраструктуру: кэширование, тестирование, метрики, контроль зависимостей, observability и т.д.
Но базовая мысль проста — CI в мобильной разработке это не просто “собрать билд”, а обеспечить повторяемость и надёжность процесса сборки.
#L #CI #xcodebuild #fastlane
👏
Post #66
169