App Center migration

Replace App Center and CodePush with one release surface

App Center made builds, distribution, and CodePush feel like one workflow. Ubriot rebuilds that shape for React Native teams with native builds, store handoff, OTA updates, and release-memory diagnosis.

Good fit for Ubriot

  • React Native app with existing App Center or CodePush usage
  • Team wants OTA without owning self-hosted CodePush infrastructure
  • Builds and store submission are spread across separate tools
  • Release failures keep repeating because history lives in chat, logs, or memory

Migration path

Move the release workflow first. Treat OTA migration as part of the system.

Step 1

Map what App Center handled

List whether the app used hosted builds, tester distribution, CodePush, diagnostics, or all of them. Ubriot is strongest where builds, store handoff, OTA, and release memory belong together.

Step 2

Move native builds and store handoff first

Connect the repo, upload signing credentials, and run iOS and Android builds through Ubriot before changing the update path.

Step 3

Move OTA as a release system, not a point replacement

CodePush-compatible migration matters, but the product direction is broader: named channels, runtime boundaries, rollback, and release state.

Step 4

Let release memory start compounding

Each build and failure becomes history that Ubriot can use when diagnosing future releases and OTA risk.

Migrate CodePush in one command

The Ubriot CLI rewrites an existing react-native-code-push setup to Ubriot OTA: it swaps the client, points your update URL at Ubriot, and backs up every file it edits. Dry-run is the default.

# preview the changes
ubriot migrate codepush

# apply, then publish your first update
ubriot migrate codepush --apply --channel production
ubriot update --app <your-app> --channel production

Ubriot OTA uses the expo-updates protocol, so migration installs expo-updates (the same client EAS Update uses). This is not a way to drop Expo entirely. The gain is native builds, store submission, and OTA under one flat price, with release-memory diagnosis when a build fails.

Bare React Native is the next bet

Flutter, KMP, and native can wait for demand evidence. App Center and CodePush migration is the near-term route because the React Native moat carries.

See React Native CI/CD