Overview
Codemagic is a continuous integration and continuous delivery (CI/CD) service specifically engineered for mobile application development. It supports a range of mobile frameworks and platforms, including Flutter, React Native, native iOS, and native Android applications. The platform's primary function is to automate the various stages of the software development lifecycle for mobile apps, from retrieving code from repositories to building, testing, and ultimately deploying applications to app stores or internal distribution channels.
The service is designed to reduce manual effort in mobile development workflows. For Flutter and React Native projects, Codemagic provides specialized support and pre-configured environments that aim to simplify setup and accelerate build times. This focus extends to native iOS and Android development, where it offers dedicated build machines and toolchains. Developers can define custom workflows, integrate with testing frameworks, and manage code signing and provisioning profiles directly within the platform.
Codemagic caters to development teams seeking to implement or enhance CI/CD practices for their mobile portfolio. It is particularly suited for organizations that prioritize fast iteration cycles and consistent build quality across multiple mobile platforms. The platform's integrations with version control systems like GitHub, GitLab, and Bitbucket allow for automated builds triggered by code changes, pull requests, or scheduled intervals. Its deployment capabilities support publishing to Apple App Store Connect, Google Play Store, and Firebase App Distribution, among other destinations.
The platform offers a free tier for individual developers or small teams, providing a limited number of build minutes per month and one concurrent build. Paid plans scale based on build minutes, concurrent builds, and access to more powerful build machines, including Apple M1 processors for faster iOS and macOS builds. This tiered approach allows teams to choose a plan that aligns with their project's scale and performance requirements. For example, Bitrise also offers a free tier, but its pricing structure for paid plans can differ in terms of included build concurrency and build duration limits, which are key considerations for mobile CI/CD platforms Bitrise pricing details. Codemagic's emphasis on dedicated support for Flutter and React Native aims to provide a tailored experience for developers utilizing these cross-platform frameworks.
Key features
- Automated Builds: Compiles mobile applications for Flutter, React Native, native iOS, and native Android from source code repositories.
- Configurable Workflows: Allows definition of custom build, test, and deployment steps using YAML configuration files, supporting pre- and post-build scripts.
- Testing Integration: Supports integration with various testing frameworks for unit, integration, and UI tests, providing test result reporting.
- Code Signing & Provisioning: Manages iOS code signing certificates, provisioning profiles, and Android keystores for secure app distribution.
- Deployment Automation: Facilitates publishing applications to Apple App Store Connect, Google Play Store, Firebase App Distribution, and other distribution platforms.
- Environment Variables & Secrets: Securely manages sensitive data, such as API keys and credentials, within the CI/CD pipeline.
- Dedicated Build Machines: Offers various build machine options, including macOS (Intel and M1), Linux, and Windows, to match project requirements.
- Concurrent Builds: Supports running multiple builds simultaneously, reducing wait times for teams with active development.
- Integrations with SCM: Connects with popular source code management systems like GitHub, GitLab, Bitbucket, and Azure DevOps.
- Notifications: Provides customizable notifications for build status, successes, and failures via email, Slack, and other channels.
Pricing
Codemagic offers a free tier and various paid plans. The pricing structure is primarily based on build minutes, concurrent builds, and the type of build machine utilized.
Pricing as of May 2026. For the most current information, consult the Codemagic pricing page.
| Plan | Build Minutes (M1/Intel macOS) | Concurrent Builds | Build Hours | Key Features |
|---|---|---|---|---|
| Free | 500 minutes/month | 1 | Unlimited | Basic CI/CD, standard support |
| Standard | 500 minutes/month | 3 | 10 | Priority support, faster builds, webhooks |
| Professional | Custom | Custom | Custom | Dedicated infrastructure, enterprise support, custom SLAs |
Common integrations
- Version Control Systems:
- GitHub (Connecting GitHub)
- GitLab (Connecting GitLab)
- Bitbucket (Connecting Bitbucket)
- Azure DevOps (Connecting Azure DevOps)
- App Distribution:
- Apple App Store Connect (Publishing to App Store Connect)
- Google Play Store (Publishing to Google Play)
- Firebase App Distribution (Distribute with Firebase App Distribution)
- Microsoft App Center (Distribute with App Center)
- Notification Services:
- Slack (Slack Notifications)
- Email (Email Notifications)
- Testing Frameworks:
- Flutter Test (Flutter Unit and Widget Tests)
- Jest (for React Native)
- XCTest (for iOS)
- JUnit (for Android)
- Artifact Storage:
- Amazon S3 (Uploading Artifacts to S3)
Alternatives
- Bitrise: A mobile-first CI/CD platform offering a visual workflow editor and extensive integrations for iOS, Android, React Native, and Flutter.
- AppCenter: Microsoft's integrated service for mobile app development, providing CI/CD, testing, distribution, and analytics for various platforms.
- CircleCI: A general-purpose CI/CD platform that supports mobile projects, offering flexible configuration and integration with cloud environments.
- GitHub Actions: A feature within GitHub for automating software workflows, configurable for mobile builds and deployments using custom actions.
- GitLab CI/CD: An integrated part of GitLab for continuous integration, delivery, and deployment, supporting custom runners and complex pipelines for mobile apps.
Getting started
To get a Flutter project building with Codemagic, you typically start by connecting your Git repository and then configuring a codemagic.yaml file. This example demonstrates a basic workflow for building a Flutter application.
workflows:
flutter-build:
name: Flutter Build
instance_type: mac_mini_m1
environment:
flutter: stable
xcode: 15.3
cocoapods: default
trigger:
branch: develop
pull_request:
include: ['main', 'develop']
scripts:
- name: Install Flutter & dependencies
script: |
flutter clean
flutter pub get
- name: Build Android App
script: |
flutter build appbundle --release
- name: Build iOS App
script: |
flutter build ipa --release --no-codesign
artifacts:
- build/app/outputs/**/*.aab
- build/ios/ipa/*.ipa
publishing:
email:
recipients:
- [email protected]
success:
enabled: true
failure:
enabled: true
This codemagic.yaml configuration defines a workflow named flutter-build. It specifies an M1 macOS build instance, sets the Flutter, Xcode, and CocoaPods versions, and triggers on pushes to the develop branch or pull requests to main or develop. The scripts section performs a clean, gets Flutter dependencies, and then builds both an Android App Bundle and an iOS IPA (without code signing for demonstration). Finally, the artifacts section ensures the built files are saved, and publishing configures email notifications for build success or failure.