Skip to main content

Creating and releasing CodePush updates

Create an update bundle and upload it to the Bitrise CodePush Server to push updates to your users' devices.

important

This guide describes the general process of releasing your CodePush updates. We recommend using Bitrise CI to automate the process: CodePush updates with Bitrise CI.

Getting your CodePush credentialsClick to copy link

API only

If you use the GUI on bitrise.io to release your CodePush updates, you can skip this section.

You need the following deployment credentials to be able to release CodePush updates with the API:

  • A deployment ID from Bitrise CodePush.

    iOS and Android require separate deployment IDs.

  • An app ID from Bitrise Release Management.

    iOS and Android require separate app IDs.

  • A deployment key.

    iOS and Android require separate deployment keys.

  • A Bitrise API token: it can be either a personal access token or a workspace API token.

You can save these credentials when creating the CodePush deployment. If you need to get them later, use the Release Management API:

  1. Make sure you have a Bitrise API token:

  2. Get the app IDs from Release Management for both the iOS and the Android app:

    Open the app in Release Management, and copy the ID from the URL. It is the alphanumeric code at the end of the URL: https://app.bitrise.io/release-management/workspaces/4afb6c4bb001295/connected-apps/12a0cf2b-9cf1-401a-8904-393b18v449ca.

  3. Get the deployment ID and the deployment key from the API:

    tip

    You can get both the ID and the key when creating the CodePush deployments. Read on if you didn't save them at the time.

    For the deployment ID, call the deployments endpoint. It returns all deployments:

    curl -X 'GET' \
    'https://api.bitrise.io/release-management/v1/connected-apps/<APP-ID>/code-push/deployments' \
    -H 'accept: application/json' \
    -H 'authorization: <YOUR-ACCESS-TOKEN>'

    The response contains the deployment ID (id) for each deployment which you need in order to get the deployment key (key. Call deployments with the id value:

    curl -X 'GET' \
    'https://api.bitrise.io/release-management/v1/connected-apps/<APP-ID>/code-push/deployments/<DEPLOYMENT-ID>' \
    -H 'accept: application/json' \
    -H 'authorization: <YOUR-ACCESS-TOKEN>'

With these credentials, you can proceed to release CodePush updates to your apps.

Creating an update bundleClick to copy link

  1. Make the updates to your code.

  2. Create an update bundle for both iOS and Android:

    • iOS:

      npx react-native bundle \
      --platform ios \
      --dev false \
      --entry-file index.js \
      --bundle-output ./build/main.jsbundle \
      --assets-dest ./build
    • Android:

      npx react-native bundle \
      --platform android \
      --dev false \
      --entry-file index.js \
      --bundle-output ./build/index.android.bundle \
      --assets-dest ./build
  3. Zip the build folder:

    zip -r update.zip ./build

Uploading the package to the Bitrise CodePush ServerClick to copy link

You can upload the package either via the Release Management GUI or the Release Management API.

  1. Open your app in Release Management.

  2. Select CodePush on the left.

  3. Select your deployment.

    20251217-rm-deployments.png

  4. Click New update.

  5. In the Target versions field, add the version range of the update.

    You can use range expressions: see topic.

  6. Optionally, add an update description.

  7. Check Enabled to make sure users can download the update.

    20251217-new-codepush-update-dialog.png

  8. Optionally, check Mandatory to prompt users to update immediately.

  9. Drag and drop the update file to the drag-and-drop area or click the area and select a file.

    File requirements
    • Upload a .bundle, .jsbundle, or .zip file.
    • The maximum file size is 50 MB.
  10. Set the percentage of users that will receive the update in the Rollout percentage field.

    You can increase the percentage value later. The default value is 100%.

  11. Click Release update.

Target versionsClick to copy link

When creating an update for CodePush, you need to specify the app version when uploading the package to the CodePush server. This is a target version: users running the specified version of the app will receive the updates.

You can use range expressions to specify the version:

Range expressionWho gets the update
1.2.3Only devices running the specific binary app store version 1.2.3 of your app
*Any device configured to consume updates from your CodePush app
1.2.xDevices running major version 1, minor version 2 and any patch version of your app
1.2.3 - 1.2.7Devices running any binary version between 1.2.3 (inclusive) and 1.2.7 (inclusive)
>=1.2.3 <1.2.7Devices running any binary version between 1.2.3 (inclusive) and 1.2.7 (exclusive)
1.2Equivalent to >=1.2.0 <1.3.0
~1.2.3Equivalent to >=1.2.3 <1.3.0
^1.2.3Equivalent to >=1.2.3 <2.0.0