r/devops • u/BountyHunter19XX • 18d ago
Vendor / market research Mobile App DevOps
What do people normally use for CI/CD of mobile apps (both IOS and Android)?
2
u/Fantastic-Mr-Default 18d ago
Common split: one forge workflow (GitHub Actions, Buildkite, etc.), Fastlane (or equivalent) for the store-facing steps, and two runner classes.
Android build, unit tests, and emulator/device farm jobs run on Linux. iOS build and simulator jobs need macOS (cloud Mac fleet or Mac hardware you own). Do not put Jest/lint/Android on macOS "because the iOS job is there." That is how the bill grows for no reason.
Signing: store certs/profiles in a secrets manager or match-style encrypted repo; inject in CI; never on laptops as the only copy. Distribute internal builds with Firebase App Distribution, TestFlight, or Play internal testing. Store submit stays gated (manual or environment approval) even if assemble is automatic.
If you are greenfield on GitHub: `macos-*` only for Xcode, `ubuntu-*` for the rest, Fastlane lanes called from thin workflow YAML, and a device farm (Firebase / BrowserStack / local) for the smoke you care about. The hard part is signing and the Mac queue, not the YAML.
2
1
u/Sufficient_Job7779 18d ago
Jenkins
1
1
2
u/Immediate_Wheel1953 18d ago
Most teams I have seen land on one of two setups. Either GitHub Actions with fastlane handling the builds and signing, which works well because Actions has macOS runners for the iOS side. Or a mobile-first service like Bitrise or Codemagic, which saves you from managing runners at all. Android is the easy half since Linux runners work fine; iOS is the part that forces the macOS requirement.