Skip to main content

Create Release

Releases can be created with ether HexDroid Web app, or via HexDroid CLI Tool (useful for automated release creation e.g. in CI).

HexDroid Web App

Create release

Releases can be manually created through the HexDroid Web interface. To create a new release, follow these steps: navigate to Releases -> Create release -> Then fill in the base information about this release.

NOTE: Creating release will not make it available to end devices, for that rollout needs to be created (see next steps).

Create release on HexDroid Web AppCreate release on HexDroid Web App

Upload release payload

After release is created, we need to upload payloads - files/binaries that are associated with this release. To upload payloads, navigate to Releases -> find your release -> Payloads tab -> Add Payload.

Then, click Add payload, select a file, choose if this payload is distributable and fill in the payload type.

Create release on HexDroid Web App

After uploading files, they will be visible in Payloads tab:

Create release on HexDroid Web App

Create rollout

After release is created, payloads uploaded - it's time to create a rollout for this release,
once rollout is created to it will be available to selected Cohort.

To create rollout, navigate to Releases -> find your release -> Rollout tab -> Create rollout.

Activate

Create release on HexDroid Web App

Halt

If you need to stop rollout (halt) for whatever reason, create new rollout and halt it, like this: Create release on HexDroid Web App

HexDroid CLI

Uploading release files and deploying updates from your CI system is a great way to automate the process of releasing new versions. This guide will show you how to use the HexDroid CLI to upload release files and deploy updates from your CI system.

The HexDroid CLI is used to upload release files and deploy updates, invoke these commands after you have built your software/firmware.

Create release

hexdroid-cli ota new-release \
--apiKey=<apiKey> \
--target=<target> \
--versionCode=versionCode \
--versionName=<versionName>

Upload release payload

hexdroid-cli ota upload-payload \
--distributed=<distributed> \
--apiKey=<apiKey> \
--file=<file> \
--target=<target> \
--type=<payloadType> \
--versionCode=<versionCode>

Create rollout

When release payloads are uploaded, to start the rollout to fleet, issue this command, after rollout is activated - this release will be available to selected fleet devices.

Activate

hexdroid-cli ota new-rollout \
--apiKey=<apiKey> \
--cohortName=<cohortName> \
--target=<target> \
--versionCode=<versionCode> \
--activate=<rollout_percentage>

Halt

To abort/halt release you can issue this command, this will stop any new devices in the cohort from receiving this update.

hexdroid-cli ota new-rollout \
--apiKey=<apiKey> \
--cohortName=<cohortName> \
--target=<target> \
--versionCode=<versionCode> \
--halt