Blaze builds, signs and ships your Flutter app to the App Store and Google Play from a single push. This guide takes you from an empty account to your first deployment.
Set Up Your Account
Work through these in order — each step unlocks the next.
Create your account
Sign up and verify your email address. Deploying needs a plan and a card: choose a plan on Billing, in the account menu, and checkout takes the card.
Connect GitHub
Install the Blaze GitHub App on the account or organization that owns your Flutter repository. Blaze only requests access to the repositories you select.
Add your project
Click New application in the console, pick your repository, and choose the branch you deploy from (typically main). Blaze checks your pubspec.yaml and platform folders at the start of every deployment.
Configure your platforms
Enable iOS, Android or both, then follow the platform guides to upload signing credentials and store API keys. Everything is encrypted at rest.
Deploy
Click Deploy on the application page, choose a target for each platform, and start the deployment. With Deploy on push turned on, a push that changes your app's version deploys too. Watch each step stream live until your build lands in the stores.
What you get
Upgrade or Change Your Plan
To upgrade your plan, open the account menu in the console and choose Billing for the workspace you want to upgrade. Find the Plans section and choose the plan you need.
- Starting a paid plan: choose Monthly or Yearly, then click Start Pro or Start Team. Complete the Stripe checkout to start the subscription.
- Changing an active or trialing paid plan: click Switch to Pro or Switch to Team under the other paid plan. The switch keeps your current billing interval and is invoiced immediately with prorated charges.
- Moving to Starter: click Move to Starter… to open the subscription cancellation flow. The paid subscription ends at the end of the current billing period.
Plan switching is available for active or trialing subscriptions. If your subscription is ending, payment is pending, or the plan-change buttons are unavailable, contact support for help.
Platform Setup
Each store needs a one-time setup before your first deployment.
Configure your bundle ID and one App Store Connect API key. Blaze signs with Apple's cloud signing, so there are no certificates or profiles to upload.
- iOS Setup guide — project configuration and signing
- Apple Developer guide — App Store Connect API keys
Configure your package name, upload keystore, and a Google Play service account.
- Android Setup guide — project configuration and signing
- Google Play Console guide — service account and API access
How a Deployment Runs
When you start a deployment, Blaze works through five steps for each platform and shows each one on the deployment page in real time:
- Prepare runner — checks your project before any build time is spent
- Clone & pub get — checks your commit out on a managed runner (macOS for iOS, Linux for Android) and fetches dependencies
- Compile — compiles the release build
- Code sign & export — produces the signed
.ipaor.aab - Upload — delivers the build to App Store Connect or Google Play
Tip: caches for the Flutter SDK, pub packages, CocoaPods and Gradle persist between deployments, so your second build is much faster than your first.
Project Requirements
Your Flutter project should follow the standard structure:
your-flutter-app/
├── android/
├── ios/
├── lib/
└── pubspec.yaml
Blaze reads these files to configure the build:
pubspec.yaml— app name, version and dependenciesios/— Xcode project used for the iOS buildandroid/— Gradle project used for the Android build
Need configuration values in your Dart code? Set environment variables on the app's Environment card and read them at build time.
Next Steps
Once your first build is green:
- Environment Variables — values your Dart code reads at build time
- Build Configuration — Flutter and Xcode versions, branch and repository
- Deployment — targets, tracks and the deployment page
Stuck at any point? Contact support — we answer within a day.