simple_deploy 1.0.0
simple_deploy: ^1.0.0 copied to clipboard
Effortlessly deploy to TestFlight and Play Store test tracks with a single Dart command!
simple_deploy is a quick and easy way to deploy apps to the store's test systems
Features #
Deploy to iOS Test Flight Deploy to Android Play Store tracks of your choice Supports flavors
Getting started #
Install the dependency into your pubspec.yaml
with the following:
dev_dependencies:
simple_deploy: latest_version # e.g. ^0.23.0
Create a deploy.yaml
file at the root of your project and configure it
Here is minimal example version of deploy.yaml
android:
credentialsFile: "c:/credentials/project-credentials.json"
packageName: "com.example.coolapp"
whatsNew: "Simple bug fixes"
ios:
# App Store Connect API configuration (All fields are required)
issuerId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
keyId: "XXXXXXXXXX"
privateKeyPath: "path/to/your/AuthKey_XXXXXXXXXX.p8"
bundleId: "com.example.coolapp"
# Optional fields
whatsNew: "New features and improvements" # For "What's New" text in TestFlight
flavor: "production" # Omit if not using flavors
generatedFileName: "custom_name.ipa" # Omit to use the default ipa name
And here's a version with all options set:
common:
versionStrategy: "none" # or "pubspecIncrement" or "storeIncrement"
android:
credentialsFile: "c:/credentials/project-credentials.json"
packageName: "com.example.coolapp"
trackName: "internal"
whatsNew: "Simple bug fixes"
flavor: "flavor" # specify a flavor if required, or omit if not using flavors
generatedFileName: "fancyproject.aab" # supply a custom file name for the aab, or omit if using the default
ios:
# App Store Connect API configuration (required for storeIncrement version strategy)
issuerId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # App Store Connect API Issuer ID
keyId: "XXXXXXXXXX" # App Store Connect API Key ID
privateKeyPath: "path/to/AuthKey_XXXXXXXXXX.p8" # Path to your private key file
bundleId: "com.example.coolapp" # Required for App Store submission
whatsNew: "New features and improvements" # Optional, used for App Store submission
flavor: "flavor" # specify a flavor if required, or omit if not using flavors
generatedFileName: "fancyproject.ipa" # supply a custom file name for the ipa, or omit if using the default
autoIncrementMarketingVersion: false # defaults to false, updates the first part of the 'version' in the pubspec.yaml, e.g. 1.0.15+39 (it would increment to 1.0.16)
Parameter details
| flavor
| Description |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | --- |
| flavorName
| Optional parameter, which can be set for both android
and iOS
, don't supply if not using flavors, or provide the flavor name if using them | |
versionStrategy |
Description |
---|---|
none |
Default. Uses the current value in the pubspec . |
pubspecIncrement |
Retrieves the current build number from the pubspec , increments it by one, and uses the updated number. |
storeIncrement |
Gets the latest version code from the store (Play Store for Android), increments it by one, and updates the pubspec. For Android only. |
trackName |
Description |
---|---|
internal |
Default. Deploys to the internal track. |
alpha |
Deploys to the alpha track. |
beta |
Deploys to the beta track. |
production |
Deploys to the production track. |
Here's the step-by-step instructions for configuring for each platform
Usage #
Just run dart run simple_deploy
and select the deployment platform
You can also supply the platform with
dart run simple_deploy android
dart run simple_deploy ios
dart run simple_deploy ios --submit-review
# This will also submit to App Store review after TestFlight processing
If you are using flavors you can add them here, they will override what is set in the pubspec.yaml, for example
dart run simple_deploy android --flavor flavorName
You can use the --pubspecIncrement
flag to increment the build number for a specific deployment, regardless of the versionStrategy
setting in your deploy.yaml
:
dart run simple_deploy --pubspecIncrement
This flag will override the versionStrategy
setting just for that deployment, allowing you to increment the build number only when needed.
Additional information #
You'll need to get some developer details from App Store connect for the deploy.yaml
file
You will also need to set up a google cloud project to create the .json
file required for android.
See steps below of these:
Android configuration #
iOS configuration #
Contributions #
Thanks to the following people for their great contributions to this project KarlJan Reginaldo