Bitbucket Pipelines

Maestro Cloud is compatible with all CI systems and provides native integrations with a number of common providers including Bitbucket Pipelines.

Prerequisites

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.

  1. Log in to Maestro Cloud Console, click on your username in bottom left corner and click on View API Key

  2. 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.

  1. Go to your Repository -> Repository settings -> Repository Variables

  2. 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.

Last updated