NAV to CircleCI Migration

Coming from You’ve come to the right place, we’ll help you get started.

Getting Started with iOS

For iOS projects, please contact support with the name of your GitHub user or organization for access to the iOS build system. Once you’ve been enabled,

  1. Add your project on the Add Projects page.
  2. Turn on the “Build iOS project” setting through the Project Settings > Build Settings > Build Environment page of your your project.
  3. Push a new commit to start a build on the iOS build system.

Getting Started with Android

You can easily migrate your Android projects from to CircleCI in a few simple steps.

  1. Add your project on the Add Projects page.
  2. After adding your project, CircleCI will usually infer your build settings. Sometimes the magic doesn’t always work. Please take a look at our getting started documentation.
  3. Check out the Testing Android on CircleCI documentation.

iOS FAQ: How do I…

Set environment variables

You can set environment variables through the Project Settings > Environment Variables page of your project, or through circle.yml.

Use Xcode 7

Include a circle.yml file in the repo’s root directory with the following contents:

    version: "7.0"

Pick a scheme

CircleCI will automatically detect your shared scheme. If you have more than one shared scheme in your repo, you can specify the name of the scheme you would like to use to run your tests using the XCODE_SCHEME environment variable.

Pick a workspace

CircleCI will detect your workspace. If you have more than one workspace, you can specify the path to your .xcworkspace file relative to the git repository root using the XC_WORKSPACE environment variable.

Run scripts

Make sure any scripts that you want to run are included in your repository. You can run your script using a bash command (e.g. ./ configured in our UI (through Project Settings > Dependency/Test Commands) or in a circle.yml file.

Configure build notifications

You can configure build notifications using the “Notifications” section of your Project Settings. Email notifications can be configured from the Account page.

Customize the build commands

You can add to or override our inferred commands through your Project Settings or through a circle.yml file.

Deploy my app

We recommend using fastlane.

Get more help

Android FAQ: How do I…

CircleCI is a powerful, developer friendly platform that allows for much greater flexibility in customizing your build environment. At, “build steps” were used to specify configuration settings. Rather than manually adding Gradle tasks individually or spending precious time tinkering with how much RAM the Android Emulator uses, at CircleCI, nearly all of your configuration is done on the circle.yml. CircleCI has customizable notifications that keep you up to speed with the status of your build. You can configure build notifications using the “Notifications” section of your Project Settings. Email notifications can be configured from the Account page.

Run Gradle tests

If you have a Gradle Wrapper in the root of your repository, CircleCI will automatically run ./gradlew test.

Use the Android Emulator

In order to start the Android Emulator you will need to add some configuration settings to your circle.yml.

Below is a sample circle.yml file taken from an excellent blog post written by someone who has an extensively configured Android project on CircleCI.


    ANDROID_HOME: /home/ubuntu/android
    version: oraclejdk6

    - ~/.android
    - ~/android
    - (echo "Downloading Android SDK v19 now!")
    - (source scripts/ && getAndroidSDK)

    - $ANDROID_HOME/tools/emulator -avd testAVD -no-skin -no-audio -no-window:
      background: true
    - (./gradlew assembleDebug):
        timeout: 1200
    - (./gradlew assembleDebugTest):
        timeout: 1200
    - (source scripts/ && waitForAVD)
    - (echo "Running JUnit tests!")
    - (./gradlew connectedAndroidTest)

Run scripts

You can specify which scripts to run in your circle.yml. The following .yml snippit would trigger to run during each build.

    - ./

Phew, that was a lot! Questions, comments, concerns? Please don’t hesitate to give our support team a shout should you have any difficulties!

Additional resources

Configuring custom AVDs

Getting Started on CircleCI

An excellent CircleCI and Android Gradle how-to

Debugging Android applications on CircleCI CircleCI & Android 101

CircleCI Docs