HOW TO USE FASTLANE WITH APPCIRCLE FOR AUTOMATED MOBILE CI/CD
Published: 2021-07-30 15:32:39

<a href="https://appcircle.io/blog/how-to-use-fastlane-with-appcircle-for-automated-mobile-ci-cd/" link rel="canonical" ><img src="https://appcircle.io/wp-content/uploads/2020/08/Using-Fastlane-for-Mobile-CI-CD-Automation-Appcircle-845x321.png.webp"></a>


Reading Time: 4 minutes

[Appcircle](https://appcircle.io/) is a mobile CI/CD platform that provides a fully automated environment to build and deploy apps, which also supports *fastlane *for build automation.

With Appcircle, you can automate your build and signing processes with the flexible workflow structure and you can also use *fastlane *as a workflow step within the build workflows. To use *fastlane*, Appcircle expects the presence of a fastfile in your repository.

Manage your mobile CI, CD and CT (continuous testing) with Appcircle

[Start for Free](https://appcircle.io/start?utm_source=devTo)

How Does Fastlane Work with Appcircle
-------------------------------------

[*fastlane*](https://fastlane.tools/) is an automation tool for mobile app build and deployment and just as the name indicates, it provides a "fast lane" for mobile app projects by running the command line tools like xcodebuild. It can automate and simplify these processes and even though you can use it locally, it works best in tandem with CI/CD tools. It is especially popular with the traditional, general-purpose CI/CD tools that don't support mobile app projects out of the box.

Mobile CI/CD tools like Appcircle can already automate the full mobile CI/CD process without the need for *fastlane* or any third-party tool. However, if you already have a project configured for Fastlane or if you have very specific dependencies on certain *fastlane* features, you can use it within Appcircle. With this way, you can actually enhance your *fastlane* flows with the advanced automation and workflow features of Appcircle. Moreover, you can use [Appcircle Centralized Signing Identities](https://docs.appcircle.io/signing-identities) or [Appcircle Distribution](https://docs.appcircle.io/distribute/create-or-select-a-distribution-profile) or even the [Appcircle In-Browser Emulator](https://appcircle.io/emulator) for your apps built with *fastlane*.

How to Use Fastlane in the Mobile CI/CD Workflow
------------------------------------------------

Setting up *fastlane* with Appcircle is very easy. You just add *fastlane* as a step and you just need to have a fastfile present in your repository. Appcircle will take care of *fastlane* installation and automation.

The default actions are supported (such as fastlane [gym](https://docs.fastlane.tools/actions/gym/), fastlane [cocoapods](https://docs.fastlane.tools/actions/cocoapods/), fastlane [gradle](https://docs.fastlane.tools/actions/gradle/) for building iOS and Android apps, fastlane [scan](https://docs.fastlane.tools/actions/scan/) for testing apps,  fastlane [pilot](https://docs.fastlane.tools/actions/pilot/) and fastlane [supply](https://docs.fastlane.tools/actions/deliver/) to send apps to App Store Connect (formerly iTunes Connect) and TestFlight, fastlane [deliver](https://docs.fastlane.tools/actions/deliver/) to send apps to Google Play Store, etc.)

Appcircle supports different types of mobile app projects so that you can use *fastlane* iOS, *fastlane* Android, *fastlane* React Native and *fastlane* Flutter. You can opt in to use Appcircle counterparts of the *fastlane* actions as well. Appcircle workflow feature enables cherry-picking mobile CI/CD steps.

Creating a Build Profile to Connect Your Repository with a Fastfile
-------------------------------------------------------------------

In Appcircle, a [build profile](https://docs.appcircle.io/build/adding-a-build-profile) contains the build workflows and the configuration of an app per target platform. (i.e. separate for iOS and Android).

1.  To create your first build profile, go to the "Build Module". (The first item on the left menu) and click on the orange "Add New" button on the top right of the screen.
2.  In the next screen, enter a name for your build profile and select the target operating system (iOS or Android) and the target platform (Obj-C/Swift, Java/Kotlin, React Native and Flutter projects are supported). If you have two different targets in your project for iOS and Android, you need to create two separate profiles. This allows you to manage separate build workflows for different operating systems.
3.  Once created, click on the build profile to connect your repository that contains a fastfile. You can connect private and public repositories on GitHub, Bitbucket, GitLab and other compatible git providers. You can authorize Appcircle to connect to your cloud repository provider account. This will allow you to use auto-build your project with hooks.
4.  The build configuration has different flows for iOS and Android and the projects are configured on a branch basis. You can have different configurations for different branches and you can build any of your commits (assuming that they are compatible with the current configuration).
5.  You can use *fastlane *with the signing configuration defined in the lane or you can configure your build to use [Appcircle centralized code signing](https://app.gitbook.com/@smartface/s/appcircle/signing-identities/) as an alternative to *fastlane *match.

Adding *fastlane *to the Appcircle Build Workflow as a Step
-----------------------------------------------------------

A [workflow](https://docs.appcircle.io/workflows/why-to-use-workflows) in Appcircle is a ladder of steps taken to build your applications. Each step has a different purpose and the workflow can be customized by modifying step parameters and inputs, running custom scripts or re-ordering steps.

[![](https://appcircle.io/wp-content/uploads/2020/08/Fastlane-Appcircle.png)](https://appcircle.io/wp-content/uploads/2020/08/Fastlane-Appcircle.png)

1.  To utilize *fastlane *in your builds, open the [workflow editor](https://docs.appcircle.io/workflows/why-to-use-workflows) and add the "fastlane" step after the "Git Clone" step.
2.  If you want to run a specific *fastlane *command, you can add a "Custom Script" step anywhere after the *fastlane* step.
3.  Once added, click on the *fastlane *step to configure it. Fastlane is easy to use with Appcircle just with two options.
4.  The "Fastlane Directory" option is used to specify the fastfile path . If you keep your fastfile in its default location, it is automatically used without the need to change this field.
5.  With the "Fastlane Lane" option, you can specify which lane to use.
6.  Once everything is set up, press Save to save your step configuration. Then you can configure and run your build just like any other app.

[![](https://appcircle.io/wp-content/uploads/2020/08/Fastlane-Appcircle-2.png.webp)](https://appcircle.io/wp-content/uploads/2020/08/Fastlane-Appcircle-2.png)

Appcircle also supports building and signing the app independently with the "Build" and "Sign" steps in the workflow. These steps can be used in parallel with *fastlane*.

Running the Build Workflow
--------------------------

To run the build workflow that includes the *fastlane *step, you can start a [manual build or trigger an automatic build](https://docs.appcircle.io/build/build-manually-or-with-triggers).

The full output of the *fastlane *execution can be viewed in the build log in real-time or after the build.

[![](https://appcircle.io/wp-content/uploads/2020/08/Fastlane-Appcircle-3.png)](https://appcircle.io/wp-content/uploads/2020/08/Fastlane-Appcircle-3.png)

Deploying the *fastlane* Build Output
-------------------------------------

You can use *fastlane *to deploy the built apps to the supported third-party services or you can use the [Appcircle Distribute module](https://docs.appcircle.io/distribute/create-or-select-a-distribution-profile) to share the app with the testers or send it to the public app stores.

Further Documentation
---------------------

For more information, screenshots, and support, please refer to the [Appcircle documentation](https://docs.appcircle.io/).

With Appcircle, you can automate the full lifecycle of your mobile app with continuous integration, continuous delivery and continuous testing.

[Start Using Appcircle Now](https://appcircle.io/start)