With Microsoft's announcement about App Center's CodePush service retirement in March 2025, many teams are looking for alternatives. This guide will walk you through migrating your React Native app from CodePush to Source Push with minimal disruption.
Why Source Push?
Before diving into the migration process, here's why Source Push is the ideal choice:
- Drop-in Replacement: Compatible with existing CodePush SDK
- Performance: 3.5x faster update delivery
- Cost-Effective: Up to 70% cost savings
- Feature Parity+: All CodePush features plus additional capabilities
Migration Steps
1. Install Source Push CLI
First, install our CLI tool:
npm install -g @srcpush/code-push-cli
2. Create Source Push Account
Sign up at console.srcpush.com and create your organization.
3. Register Your App
# Log in to Source Push
srcpush login
# Register your app
srcpush app add MyApp
# Add deployment environments
srcpush deployment add MyApp Staging
srcpush deployment add MyApp Production
4. Update SDK Configuration
iOS (Info.plist)
<key>CodePushServerURL</key>
<string>https://api.srcpush.com</string>
Android (strings.xml)
<string moduleConfig="true" name="CodePushServerUrl">https://api.srcpush.com</string>
5. Update Deployment Keys
Replace your CodePush deployment keys with Source Push keys:
# Get your deployment keys
srcpush deployment ls MyApp -k
# Update keys in your app configuration
6. Test the Migration
-
Release a Test Update
srcpush release-react MyApp ios -d Staging
-
Verify Update Download
srcpush deployment history MyApp Staging
7. Update CI/CD Pipeline
Update your CI/CD configuration to use Source Push:
- name: Deploy to CodePush
run: appcenter codepush release-react -a owner/MyApp -d Staging
- name: Deploy to Source Push
run: srcpush release-react MyApp ios -d Staging
env:
SRCPUSH_TOKEN: ${{ secrets.SRCPUSH_TOKEN }}
Migration Checklist
✅ Install Source Push CLI
✅ Create Source Push account
✅ Register app and create deployments
✅ Update SDK configuration
✅ Replace deployment keys
✅ Test update delivery
✅ Update CI/CD pipelines
✅ Monitor metrics after migration
Best Practices During Migration
-
Gradual Rollout
- Start with staging environment
- Use staged rollouts for production
srcpush release-react MyApp ios -d Production --rollout 25
-
Version Targeting
- Target specific app versions during transition
srcpush release-react MyApp ios --target-binary-version ">=1.2.3"
-
Monitoring
- Monitor update metrics closely
- Set up alerts for any issues
- Keep deployment history for rollback capability
Common Issues and Solutions
Update Not Downloading
Check server URL configuration:
srcpush deployment info MyApp Production
Authentication Issues
Verify token and permissions:
srcpush login
srcpush whoami
CI/CD Integration
Test authentication in CI environment:
srcpush login --accessKey <your-access-key>
Need Help?
Our support team is ready to help with your migration:
- Check our migration documentation
- Contact [email protected]
Next Steps
After completing the migration:
- Set up monitoring and alerts
- Configure automatic rollbacks
- Explore advanced features like A/B testing
- Review our deployment strategies guide
Start your migration today and ensure a smooth transition before App Center's CodePush retirement.