Skip to content

Rollouts

Rollouts allow you to gradually release updates of your app to your users. With rollouts, you can roll out updates to a small percentage of users first and then gradually increase the percentage of users that receive the update. This way you can minimize potential issues and collect feedback from a smaller group of users before rolling out the update to all users.

Create a channel

To use rollouts, you first need to create a channel for your app. You can create a channel using the Capawesome CLI:

npx @capawesome/cli apps:channels:create --name "prod-1.2.5" --bundle-limit 1 

This command creates a new channel named "prod-1.2.5" with a bundle limit of 1. Make sure to set this bundle limit to ensure that only one bundle exists in the channel at a time. Otherwise, it might happen that a user receive different bundles in turn if they have just reached the rollout limit.

Bundle limit

The bundle limit is the maximum number of bundles that can exist in the channel at the same time. When you create a new bundle in a channel, the oldest bundle will be removed if the bundle limit is reached.

Start a rollout

To roll out a new bundle to a percentage of users, you can use the --rollout option when creating a new bundle using the Capawesome CLI:

npx @capawesome/cli apps:bundles:create --channel "prod-1.2.5" --rollout 0.1

This will create a new bundle in the "prod-1.2.5" channel and roll it out to 10% of users. The --rollout option accepts a value between 0 and 1, where 0 means that the bundle is not rolled out to any users and 1 means that the bundle is rolled out to all users.

Update a rollout

To update an existing bundle and increase the percentage of users that receive the update, you can use the --rollout option when updating the bundle using the Capawesome CLI:

npx @capawesome/cli apps:bundles:update --rollout 0.3

This will update the existing bundle and roll it out to 30% of users. You can always see the current rollout percentage of a bundle in the Capawesome Cloud Console.