For desktop platforms, your app’s pipeline builds ready-made installer packages and provides them for download:
| Platform | Package | Pipeline jobs |
|---|---|---|
| macOS (direct distribution) | .dmg |
build-flutter-macos-* → publish-macos-* |
| macOS (Mac App Store) | .pkg |
build-flutter-macos-appstore → publish-macos-store → release-macos-store |
| Windows | Installer (.exe) |
build-flutter-windows → publish-windows |
| Linux | .deb / .rpm |
build-flutter-linux → publish-linux |
Direct-distribution publish jobs upload packages to the platform’s download storage – from there you distribute them e.g. via your homepage or directly to users. For macOS there are also manual release-macos-* jobs as an approval step.
macOS: signing, S3, and Mac App Store
In the project composer you can configure macOS separately:
- App Store Account (macOS) – App Store Connect credentials (for signing and store upload)
- Sign & notarize with Developer ID – signed, notarized DMGs for direct distribution (outside the Mac App Store)
- Publish to the Mac App Store – separate pipeline path with Mac App Store certificates,
.pkg, and upload to App Store Connect - Public S3 download – publishes signed DMGs publicly (requires Developer ID signing)
For the Mac App Store, the app must already exist in App Store Connect (including the macOS platform). The pipeline creates Mac App Store certificates and profiles via Fastlane Match when needed.
Other desktop stores
Direct publishing to the Microsoft Store and Snap Store is currently not yet supported – distribution runs via the installer downloads.
See also
- Azure Artifact Signing: setup – prepare Windows code signing in Azure.
- Azure Artifact Signing: credentials – store values in the platform.
- Publishing apps (iOS & Android) – for the mobile stores.
- What are pipelines? – starting manual jobs.