Maestro is compatible with all CI systems and provides native integrations with a number of common providers including Bitbucket Pipelines.
You can start running your Flows in CI with just a few lines of configuration using the Maestro Cloud Bitbucket Pipe.
Create a Maestro Cloud account
This doesn’t cost anything up front and you’ll have $10 of free credit each month to play around with the platform.
If you haven’t already, start by creating a Maestro Cloud account: Create a Maestro Cloud Account
Get your API key
Once you create your account, you’ll be able to access your api key.
- Log in to Maestro Cloud Console, click on your username in bottom left corner and click on View API Key
- Copy your API Key.
Save API key in your repository
In order to use the Maestro Cloud Pipe, you’ll need to add the API key as a secret ENV in your Bitbucket repository.
- Go to your Repository -> Repository settings -> Repository Variables
- Save your API Key as a secured env variable
Commit your Maestro Flows to your repository
Create a .maestro/
directory at the root of your repository and commit your Flows there:
<root>
├── .maestro/
│ ├── Login.yaml
│ ├── Add to Cart.yaml
│ └── Search.yaml
It’s common to have some Flow files that are only meant to be executed as part of another Flow via the runFlow
command. These “subflows” can be nested under a subdirectory to prevent them from running as a top-level Flow.
<root>
├── .maestro/
│ ├── subflows/
│ │ └── MySubflow.yaml
│ ├── Login.yaml
│ ├── Add to Cart.yaml
│ └── Search.yaml
Add Maestro Cloud Pipe
Once everything is setup, you can integrate the Maestro Cloud Upload Pipe in your Pipeline build process.
Edit your bitbucket-pipelines.yml
and add an extra step after your app has finished building.
Note: All file paths are relative to the repository source root.
Android
script:
- pipe: mobiledevinc/maestro-cloud-upload:1.0.0
variables:
MDEV_API_KEY: $MDEV_API_KEY
MDEV_APP_FILE: app/build/outputs/apk/debug/app-debug.apk
iOS
script:
- pipe: mobiledevinc/maestro-cloud-upload:1.0.0
variables:
MDEV_API_KEY: $MDEV_API_KEY
MDEV_APP_FILE: <app_name>.app
The pipe will:
- Upload your app and flows to Maestro Cloud
- Wait for flows to complete (can be configured)
- Complete with fail/pass depending on flow results
That’s it!
For more information and configurations, checkout Maestro Cloud Upload Pipe.