Skip to main content

Appcircle CodePush

The Appcircle CodePush step allows you to automate the process of releasing over-the-air (OTA) updates for your React Native apps as part of your CI/CD workflow.

For more information about Appcircle CodePush feature, please visit the CodePush documentations.

Prerequisites

Before running the Appcircle CodePush step, you must complete certain prerequisites, as detailed in the table below:

Prerequisite Workflow StepDescription
Git CloneClone the selected repository to the build machine. Please use the Appcircle CodePush step after this step.
Node InstallThis step will install Node modules for your application. Please note that the Appcircle CodePush step should be used after this step.
NPM/Yarn CommandsThis step installs the NPM or Yarn package manager to install specific dependencies for your React Native applications. Please note that the Appcircle CodePush step should be used after this step.
Screenshot

Input Variables

This step contains some input variable(s). It needs these variable(s) to work. The table below gives explanation for this variable(s).

Screenshot
Sensitive Variables

Please do not use sensitive variables such as Username, Password, API Key, or Personal Access Key directly within the step.

We recommend using Environment Variables groups for such sensitive variables.

Variable NameDescriptionStatus
$AC_REPOSITORY_DIRRelative path of the React Native project.Required
$AC_CODE_PUSH_TOKENAppcircle personal access token. You can create a new token in the Appcircle dashboard under Settings > Security > Personal Access Token. For details, see Generating and Managing Personal API Tokens.Required
$AC_CODE_PUSH_SERVER_URLThis parameter specifies the server URL used by self-hosted Appcircle instances to authenticate CLI access. Ignore this if you are not a self-hosted Appcircle user.Optional
$AC_CODE_PUSH_AUTH_URLThis parameter specifies the authentication URL used by self-hosted Appcircle instances to authenticate CLI access. Ignore this if you are not a self-hosted Appcircle user.Optional
AC_CODE_PUSH_APP_NAMEThis parameter specifies the name of the app in Appcircle. The App Name parameter is the Appcircle CodePush profile name. For example MyApp-Android or MyApp-iOS.Required
$AC_CODE_PUSH_DEPLOYMENT_NAMEThis parameter specifies the deployment channel name in Appcircle. The Deployment Channel parameter is the Appcircle CodePush deployment name. For example Staging or Production.Required
$AC_CODE_PUSH_TARGET_BINARY_VERSIONThis parameter specifies the target binary version of the app that this update is intended for. It should be in the format 1.0.0.Required
$AC_CODE_PUSH_DESCRIPTIONThis parameter provides an optional changelog for the deployment.Optional
$AC_CODE_PUSH_ROLLOUT_PERCENTAGEThis parameter specifies the percentage of users (as an integer between 1 and 100) that should be eligible to receive this update.Optional
$AC_CODE_PUSH_EXTRA_ARGUMENTSExtra command line arguments for Appcircle CodePush CLI command. For example, add --debug for verbose logs.Optional
Package Diff

You can add --diffEnabled flag to $AC_CODE_PUSH_EXTRA_ARGUMENTS to enable package diff feature to make users download only the changed files instead of the full package.

CodePush Code Signing

With the Appcircle CodePush step, you can also publish a signed CodePush release. The required actions are outlined below, step by step.

  • First, create a group in the Environment Variables sub‑section under the Build module, and upload your .pem file into that group. For more information, please visit the Environment Variable documentation.
Screenshot
Environment Variables

In order to use the Environment Variable group you created in the relevant profile, you need to select this group from the build configuration. For more detailed information, please refer to the Build Configuration documentation.

  • Next, in the Appcircle CodePush step, use the Extra Arguments input to pass the --privateKeyPath <YOUR_ENV_KEY> parameter and reference the environment variable you created.
Screenshot

Once these steps are completed, running the Appcircle CodePush step will automatically sign the generated CodePush release with your provided .pem file and publish it.

Package Diff

With the Package Diff feature, users download only the changed files instead of the full package. When Package Diff is enabled, updates from any older version to a new one include only the modified files, reducing update size and speeding up delivery.

  • In the Appcircle CodePush step, use the Extra Arguments input to pass the --diffEnabled parameter.
Screenshot