HealkiteDocs

Migrating from CodePush (App Center) or Revopush

Healkite speaks CodePush's language: the same JavaScript API and the same CLI verbs. Most apps migrate in an afternoon; your release scripts mostly just change the binary name.

1. Concepts

CodePushHealkite
App (one per platform: MyApp-iOS, MyApp-Android)One app for both platforms (MyApp-iOS still resolves)
Deployment (Staging, Production)Channel (staging, production)
Deployment keyChannel key (HealkiteChannel / healkite_channel)
Target binary version (-t 1.0.0)Runtime version (-r 1.0.0, defaults to the app version)
Code signing (-k private.pem)Code signing (--sign / -k), plus server-signed manifests
Rollout -r 25Rollout, or a guarded release that advances and halts on its own

2. Native setup

Remove react-native-code-push (its native code, CodePushDeploymentKey entries and the CodePush.bundleURL() / getJSBundleFile overrides) and follow the Healkite SDK install: npm install @healkite/react-native, then the native steps in the SDK README, or the Expo config plugin.

3. JavaScript: change one import

diff
- import codePush from "react-native-code-push";
+ import codePush from "@healkite/react-native/codepush";

codePush(options)(App), codePush.sync(), checkForUpdate(), getUpdateMetadata(), notifyAppReady(), restartApp(), allowRestart() / disallowRestart(), InstallMode, CheckFrequency, SyncStatus and UpdateState behave as before. Differences: no update dialog (Healkite installs silently and applies mandatory updates immediately), and the deployment comes from the app config rather than per call.

4. CLI

sh
npx healkite login --api-url https://api.healkite.com --token hk_…
code-push / appcenter codepushhealkite codepush
release-react MyApp ios -d Production -t 1.0.0 --des "…" -m -r 25 -k key.pemsame
promote MyApp Staging Productionsame (-p ios to pick a platform)
rollback MyApp Production [--targetRelease v4]same (--target-release)
patch MyApp Production -l v7 -r 50 -m true -x falsesame (add -p ios)
deployment ls MyApp -kdeployment ls MyApp (shows channel keys)
deployment history MyApp Productionsame (add -p ios)

Every Healkite command (healkite release --guarded, --at, --device, --experiment, --hotfix, size, preview) is available on top.

5. Cut over

  1. Create the app and channels in Healkite (dashboard or npx healkite apps create / channels create).
  2. Ship a store build with the Healkite SDK and channel key.
  3. Point CI at healkite codepush release-react (or the GitHub Action).
  4. Keep CodePush running for older store builds until they age out; new builds only talk to Healkite.