Incrementally deploy updates on a new branch to a channel.

This feature is in Developer Preview. It's not advised to use this feature in any production environment.

Rollouts incrementally deploy updates on a new branch to a specific channel. With rollouts, you can roll out updates from one branch to a percentage of end users and leave the remaining percentage of users on the current branch. This is useful when testing a new feature to minimize the risk of introducing bugs or other issues to our production environment.

Start a rollout

To start a rollout, use npx eas-cli@latest or ensure you have eas-cli version 4.0.0 or above. Then, run the following command:

npx eas-cli@latest channel:rollout

In the terminal, an interactive guide will assist you in selecting a channel, choosing a branch for the rollout, and setting the percentage of users for the rollout. To increase or decrease the rollout amount, run the command again and choose the Edit option to adjust the rollout percentage.

End a rollout

Two methods are available to end a rollout when you choose the End option in the interactive guide:

  • Republish and revert: This option can be used once you are confident with the update served from the new branch. This will publish the update again on the old branch and users will be reverted back to it.
  • Revert: Choose to disregard the updates on the new branch and return users to the old branch.

Work with rollouts

  • Only one branch can be rolled out on a channel at a single time.
  • To see the state of the rollout, use the eas channel:rollout command. Website support is coming soon.
  • When a rollout is in progress, you can publish updates to both rolled out and current branches by running eas update --branch [branch], for example.
  • eas update --channel [channel] cannot be used when a rollout is in progress since it cannot know which branch to associate the update with.