HotCodePush

Roll out gradually

Release to a share of devices first, widen the rollout by hand or on a schedule, and let auto-pause stop a release whose failures climb.

A staged rollout gives a release to a share of the devices on a channel first and widens that share once the release proves healthy. Rollouts and auto-pause explains how the percentage picks devices and when auto-pause fires. This page is the task: pick a percentage, create the release, watch it, widen it or stop it. The short version is the site's staged rollouts for mobile page.

Prerequisites

  • Quickstart has run, so the SDK is installed and a first release is live.
  • The channel has devices on it: the channel's header in the console counts its active devices, and channel get prints the same numbers.

1. Decide the starting percentage

If you know where to start, skip to step 2. A release reaches 100 percent by default, which fits a staging channel or a small app. Start at 10 percent with --progression once the channel holds about 1,000 active devices.

The default schedule widens only after 50 applied updates, and 10 percent of 1,000 devices fills that sample. Preview the reach before you publish:

npx hotcodepush audience get --channel production --rollout-percent 10

The first line counts the active devices the release reaches and estimates the share at 10 percent. audience has every flag.

2. Create the release at a partial rollout

npx hotcodepush release create --path dist --rollout-percent 10 --progression

The CLI states the reach and asks once, then uploads and prints the release number. With --progression the rollout widens through 10, 50 and 100 percent on its own. Without it the release holds at 10 percent until step 4. release create lists the schedule flags.

The release applies within about a minute. Which devices fall inside the 10 percent is decided on each device, as Rollouts and auto-pause explains. If nothing happens, see Troubleshooting.

3. Watch the release

npx hotcodepush release get --release 43

The output shows the rollout, the progression step and what it waits on, the policy in effect, and the counters. The list command, npx hotcodepush release list --channel production, shows the same step per release.

Auto-pause pauses the release once more than 5 percent of its applied updates failed, with the sample and confidence on Rollouts and auto-pause. The policy lives on the channel and can be overridden per release with channel update and release update. The console has the same fields.

A tester whose device did not take the release is usually outside the percentage. The device probe answers it for one device.

4. Widen the rollout by hand

A progression needs no hand. This step and the next are for a release without one, and for stopping any release.

npx hotcodepush release rollout --release 43 --rollout-percent 50

The percentage moves in both directions, 0 to 100. A device that has the release keeps it, and a percentage set by hand ends a progression.

5. Pause or resume the release

npx hotcodepush release pause --release 43

Pausing stops a release without touching its percentage. The resume command, npx hotcodepush release resume --release 43, offers it again and starts a new auto-pause window.

Each change applies within about a minute. Stopping a rollout is not a rollback: devices that took the release keep it. To take a release away from devices, revoke it or roll the channel back, both in Roll back a release.

Next steps

Last updated on

On this page