Loading…
Mobile Release Engineering at Scale with Shipit Mobile
2023-10-18
- Source
- Shopify
- Published
- Added to Yomu
Summary
Shopify built Shipit Mobile to replace error-prone, manual mobile app releases with a shared platform for creating, viewing, and managing releases. The process creates a release branch from master, builds a candidate for each commit, increments build numbers, and starts separate CI pipelines for testing and release builds. Shipit Mobile uploads the same binary and metadata to distribution channels including Google Play, the App Store, and internal support access, using store APIs and Fastlane, while Slack notifications make release status visible beyond the release captain. Developers can bypass CI when necessary for emergencies, and configuration favors convention over configuration for project metadata. After more than six months in production, the platform reduced release complexity, shortened the release cadence from three weeks to one week, and helped more people become release captains.
Context
Mobile releases involved many manual, error-prone steps, inconsistent team processes, complex and untested scripts, manually managed version and build numbers, and substantial coordination work for the release manager. App-store approval and distribution also prevented the same continuous-delivery model used for web applications.
Approach / What changed
Shipit Mobile provides a shared release platform that manages branches, candidates, build numbers, CI, manual testing, metadata, store uploads, distribution channels, notifications, and release ownership. It uses release branches from master, separate test and build pipelines, Google Play and App Store integrations, Fastlane for iOS uploads, convention-based project configuration, and emergency bypasses for CI restrictions.
Takeaways
- Each commit on a release branch creates a candidate with an incremented build number and triggers separate test and release-build CI pipelines.
- The same release binary can be distributed through multiple channels, including Google Play, the App Store, and internal access for Shopify’s support team.
- After more than six months in production, Shipit Mobile helped reduce the release cadence from three weeks to one week and made the Release Captain role easier to transfer.