A full example
One real app, start to finish: sign in, link the project, upload a signing key, set a production env var and a secret, then ship a signed release build.
The scenario
An existing Expo project called Acme, package id com.acme.app. It already has a release keystore, and the release build needs to talk to a production API URL and a secret analytics key. The CLI is already installed.
1. Sign in
bedrock loginOpens a browser to sign in with GitHub, then waits for approval. First-time sign-in prompts you to create an organization.
2. Link the project
From the root of the Acme project:
bedrock initA wizard picks (or creates) an organization, project, and app, then writes bedrock.json linking this directory to that app. Every command below reads from it.
3. Upload the signing key
bedrock signing upload --keystore ./release.keystore --alias uploadPrompts interactively for the keystore and key passwords, they're never accepted as flags or arguments, so they never land in shell history. Confirm it landed:
bedrock signing listShows the alias and fingerprint. This key is now reused for every future build of this app; you only upload it once.
4. Set the release config
A plain value for the production API URL:
bedrock env set API_URL=https://api.acme.com --profile releaseA secret, prompted interactively instead of taken as an argument:
bedrock env set ANALYTICS_KEY --secret --profile releaseConfirm both are set:
bedrock env list --profile releaseAPI_URL shows its real value, ANALYTICS_KEY prints as (secret). It can be rotated or deleted, but never read back.
5. Build
A signed Android App Bundle for the Play Store:
bedrock build --profile release --aabOpens a full-screen view: a sidebar of builds next to a live log pane for whichever one is selected, and prints a dashboard link so you can watch from the browser instead. It picks up the keystore and env vars from the previous two steps automatically, nothing else to pass in.
6. Get the artifact
Check on a build without watching it live:
bedrock build status <id>
bedrock build logs <id>When the build finishes, its output includes a shareable download link for the signed .aab, ready to upload to the Play Store.
See also
CLI commands for every flag, or Security for exactly how the keystore and secrets are protected.