Welcome! This guide will help you migrate your Over-the-Air (OTA) updates from Appcenter to Revopush. With Revopush's Command Line Interface (CLI), you can easily push updates directly to your users' devices without needing to go through app stores.
Let’s get started!
Before you begin, ensure you have the following (depends on your platform and preferences):
You manage most of CodePush's functionality using the App Center CLI. If you had one installed, you can update it to the latest version by running the following command:
$
npm update -g appcenter
or install it from scratch by running the following command:
$
npm install -g appcenter@latest
Upon installation or update, you can check the version of the App Center CLI by running the following command:
$
appcenter -h
$ appcenter -h
Visual Studio App Center helps you build, test, distribute, and monitor mobile apps.
Version 3.0.3
Usage: appcenter <command>
Commands:
analytics View events, audience info, sessions, and other analytics for apps
apps View and manage apps
build Start builds, get their status, and download artifacts
codepush View and manage CodePush deployments and releases
crashes Upload symbols for better crash reports
distribute Send builds to testers and manage distribution groups
orgs Manage organizations
profile Manage your profile
telemetry Manage telemetry preferences
test Start test runs and get their status
tokens Manage API tokens
help Get help using appcenter commands
login Log in
logout Log out
setup-autocomplete Setup tab completion for your shell
Similarly to Appcenter, Revopush manages most of CodePush's functionality using the CLI.
$
npm install -g @revopush/code-push-cli
$
npm update -g @revopush/code-push-cli
Upon installation or update, you can check the version of the Revopush CLI and the list of available commands by running the following command:
$
revopush -h
revopush -h
____ ____ _
| _ \ _____ _____ | _ \ _ _ ___| |__
| |_) / _ \ \ / / _ \| |_) | | | / __| '_ \
| _ < __/\ V / (_) | __/| |_| \__ \ | | |
|_| \_\___| \_/ \___/|_| \__,_|___/_| |_| CLI v0.0.1
============================================
Revopush is a service that enables you to deploy mobile app updates directly to your users devices. Visit our website https://revopush.org/
Usage: revopush <command>
Commands:
revopush access-key View and manage the access keys associated with your account
revopush app View and manage your CodePush apps
revopush collaborator View and manage app collaborators
revopush debug View the CodePush debug logs for a running app
revopush deployment View and manage your app deployments
revopush login Authenticate with the CodePush server in order to begin managing your apps
revopush logout Log out of the current session
revopush patch Update the metadata for an existing release
revopush promote Promote the latest release from one app deployment to another
revopush register Register a new CodePush account
revopush release Release an update to an app deployment
revopush release-react Release a React Native update to an app deployment
revopush rollback Rollback the latest release for an app deployment
revopush session View and manage the current login sessions associated with your account
revopush whoami Display the account info for the current login session
Options:
--help Show help [boolean]
-v, --version Show version number [boolean]
You need to execute steps in this section if you have been using Appcenter for OTA updates and wish to migrate to Revopush. If you did not use Appcenter OTA updates before and just wish to apply OTA on top of Revopush for your app feel free to skip this section and go to section 4.
Execute the following command to login to Appcenter CLI using provider of your choice (GitHub, Facebook, Microsoft, Google):
$
appcenter login
Similarly, in a separate window login to Revopush CLI using the following command:
$
revopush login
$
appcenter apps list
johndoe/rn2_android
johndoe/rn2_ios
For given guide we assume that johndoe/rn2_android
is the React Native
application for Android and johndoe/rn2_ios
is the React Native application for iOS.
You can check target OS of the app using command appcenter apps show -a <app
name here>
.
$ appcenter apps show -a johndoe/rn2_android
App Secret: 6c3cb412-105f-422f-b795-af53d0b36a5f Description: Display Name: rn2_android Name: rn2_android OS: Android Platform: React-Native Release Type: Alpha Owner ID: a1265e53-0599-4340-8003-7c40f0caff38 Owner Display Name: John Doe Owner Email: [email protected] Owner Name: johndoe Azure Subscription ID:
$ appcenter apps show -a johndoe/rn2_ios
App Secret: 37d1dce7-a991-4ccc-8a0c-1ff8ed00f45d Description: Display Name: rn2_ios Name: rn2_ios OS: iOS Platform: React-Native Release Type: Owner ID: a2265e53-0699-4340-8003-7c41f0caff39 Owner Display Name: John Doe Owner Email: [email protected] Owner Name: johndoe Azure Subscription ID:
Remove the username prefix when creating apps in Revopush.
$revopush app add rn2_ios
$ revopush app add rn2_android
Successfully added the "rn2_ios" app, along with the following default deployments:
┌────────────┬────────────────────────────────────────┐
│ Name │ Deployment Key │
├────────────┼────────────────────────────────────────┤
│ Production │ Z7v_81HyATiWlqZjvQFyu9GIicXAVJHvdy5W-g │
├────────────┼────────────────────────────────────────┤
│ Staging │ PjAEsKZUdAytb5Rq3Kb6yHVfn-H3VJHvdy5W-g │
└────────────┴────────────────────────────────────────┘
Successfully added the "rn2_android" app, along with the following default deployments:
┌────────────┬────────────────────────────────────────┐
│ Name │ Deployment Key │
├────────────┼────────────────────────────────────────┤
│ Production │ EVGdS0GR4Sus584cdyZ95wmwI405VJHvdy5W-g │
├────────────┼────────────────────────────────────────┤
│ Staging │ pkCafa80S-ji3y6Xey6zVcEju9AHVJHvdy5W-g │
└────────────┴────────────────────────────────────────┘
List Appcenter deployments:
$appcenter codepush deployment list -k -a johndoe/rn2_ios
Add the same deployments in Revopush with identical keys
revopush deployment add rn2_ios appcenter_Staging -k <Staging_Key>
revopush deployment add rn2_ios appcenter_Production -k <Production_Key>
Repeat for Android
appcenter codepush deployment list -k -a johndoe/rn2_android
revopush deployment add rn2_android appcenter_Staging -k <Staging_Key>
revopush deployment add rn2_android appcenter_Production -k <Production_Key>
Repeat for all other deployments you have in Appcenter and wish to continue to use in Revopush.
If you're new to Revopush and want to set up OTA updates for your app, follow these steps.
$
revopush login
$
revopush app add myAmazingApp_ios
$
revopush app add myAmazingApp_android
This will create your app along with default Staging and Production deployments.
If you need more deployments (e.g., Development, Testing), use:
$
revopush deployment add myAmazingApp_android Development
$
revopush deployment ls myAmazingApp_android -k
After setting up Revopush, update your React Native application to point to the Revopush server.
Info.plist
: Add the following entries:
<key>CodePushDeploymentKey</key>
<string>Your_Deployment_Key</string>
<key>CodePushServerURL</key>
<string>https://api.revopush.org</string>
An example for myAmazingApp_ios
app and Staging
deployment:
<key>CodePushDeploymentKey</key>
<string>vUOFPtZfOlhXHPEDE3nkf7nP6lJ4VJHvdy5W-g</string>
<key>CodePushServerURL</key>
<string>https://api.revopush.org</string>
<string moduleConfig="true" name="CodePushDeploymentKey">Your_Deployment_Key</string>
<string moduleConfig="true" name="CodePushServerUrl">https://api.revopush.org</string>
An example myAmazingApp_android
app and Staging
deployment strings.xml
:
<string moduleConfig="true" name="CodePushDeploymentKey">kbAXqSrgEfLPcuvU3Fe0SCqX5HpOVJHvdy5W-g</string>
<string moduleConfig="true" name="CodePushServerUrl">https://api.revopush.org</string>
Once your app is configured, you can release updates to your users.
$
revopush release-react rn2_ios ios -d Staging
...
Successfully released an update containing the "/var/folders/my/lwrczz7503g5911_wf51jsvm0000gp/T/CodePush" directory to the "Staging" deployment of the "rn2_ios" app.
$
revopush release-react rn2_android android -d appcenter-Staging
...
Successfully released an update containing the "/var/folders/my/lwrczz7503g5911_wf51jsvm0000gp/T/CodePush" directory to the "appcenter-Staging" deployment of the "rn2_android" app.
For more customization, view all options:
$
revopush release-react -h
Migrating your OTA updates from Appcenter to Revopush is straightforward with our CLI tools. Whether you're migrating existing applications or setting up new ones, Revopush offers a seamless experience with familiar commands and robust features.
Appcenter | Revopush | Comment |
---|---|---|
appcenter login
|
revopush login
|
Log in |
appcenter codepush deployment
|
revopush deployment
|
View and manage your app deployments |
appcenter apps
|
revopush app
|
View and manage your apps |
appcenter codepush patch
|
revopush patch
|
Update the metadata for an existing CodePush release |
appcenter codepush promote
|
revopush promote
|
Create a new release for the destination deployment, which includes the exact code and metadata from the latest release of the source deployment |
appcenter codepush release-react
|
revopush release-react
|
Release a React Native update to an app deployment |
appcenter codepush rollback
|
revopush rollback
|
Rollback a deployment to a previous release |
appcenter logout
|
revopush logout
|
Log out |
Contact our support team at [email protected] or visit our website.