Migrating from AppCenter to DeployPulse
Microsoft AppCenter CodePush was retired in March 2025. DeployPulse is a drop-in replacement — the same open-source CodePush SDK, the same over-the-air update protocol, but with active development and new capabilities AppCenter never offered (Auto Rollback, Code Signing, differential packages).
No SDK changes are required. You only need to update your deployment keys and add the server URL to your mobile app config.
Prerequisites
dpctlCLI:npm install -g dpctl- Node.js 18 or later
- Your existing AppCenter app names (for reference when re-creating apps)
Step 1 — Create a DeployPulse Account
Sign up at app.deploypulse.io. After registering you will land on the dashboard where you can create your first app.
Step 2 — Re-create Your Apps
DeployPulse maintains separate apps per platform, matching AppCenter's convention:
dpctl app add MyApp-iOS
dpctl app add MyApp-Android
Each app is automatically created with Staging and Production deployments.
Step 3 — Get Your Deployment Keys
dpctl deployment ls MyApp-iOS
The dashboard also shows deployment keys under App → Deployments → key icon.
Step 4 — Update Mobile Config
iOS — Info.plist
Replace the old AppCenter deployment key and add the DeployPulse server URL:
<key>CodePushDeploymentKey</key>
<string>YOUR_DEPLOYPULSE_IOS_KEY</string>
<key>CodePushServerURL</key>
<string>https://api.deploypulse.io</string>
Android — strings.xml
<string name="CodePushDeploymentKey">YOUR_DEPLOYPULSE_ANDROID_KEY</string>
<string name="CodePushServerUrl">https://api.deploypulse.io</string>
The Android key is CodePushServerUrl (lowercase l). This matches the existing react-native-code-push SDK field name.
See the iOS Setup and Android Setup guides for full configuration details.
Step 5 — Update CI/CD
Replace appcenter codepush release-react with dpctl release-react in your pipelines:
# Before (AppCenter CLI)
appcenter codepush release-react -a MyOrg/MyApp-iOS -d Production
# After (dpctl)
DEPLOYPULSE_ACCESS_KEY="$DEPLOYPULSE_ACCESS_KEY" dpctl release-react MyApp-iOS ios --deployment Production
See the GitHub Actions, Bitrise, CircleCI, GitLab CI/CD, or Jenkins guides for full pipeline examples.
CLI Command Mapping
| AppCenter CLI | dpctl equivalent |
|---|---|
appcenter login | dpctl login |
appcenter apps list | dpctl app ls |
appcenter apps create -n <name> | dpctl app add <name> |
appcenter apps delete -a <app> | dpctl app rm <name> |
appcenter codepush deployment list -a <app> | dpctl deployment ls <app> |
appcenter codepush deployment add -a <app> <name> | dpctl deployment add <app> <name> |
appcenter codepush release-react -a <app> | dpctl release-react <app> <platform> |
appcenter codepush patch -a <app> <deployment> <label> | dpctl patch <app> <deployment> <label> |
appcenter codepush promote -a <app> -s <src> -d <dest> | dpctl promote <app> <src> <dest> |
appcenter codepush rollback -a <app> <deployment> | dpctl rollback <app> <deployment> |
appcenter codepush deployment history -a <app> <deployment> | dpctl deployment history <app> <deployment> |
What's New in DeployPulse
DeployPulse includes capabilities AppCenter never offered:
- Auto Rollback — automatically revert a release if the error rate exceeds a threshold, configurable per deployment
- Code Signing — RS256 JWT signing so devices verify bundle integrity before applying an update
- Differential packages — DeployPulse automatically computes a diff between releases and sends only changed files to devices, reducing update download sizes significantly
Further Reading
- Quickstart — end-to-end setup guide
- Auto Rollback — configure automatic rollback on error spikes
- Code Signing — sign releases for verified delivery
