React Native CI/CD

Ship React Native apps to both stores — and beyond

Automate iOS and Android builds in a single pipeline, push OTA updates via CodePush, and keep Metro bundler cache warm for faster iteration — all without managing CI infrastructure yourself.

Fast
Metro bundler caching
OTA
CodePush updates
One
workflow for iOS + Android

Built for React Native teams

Metro caching, CodePush integration, and cross-platform signing — everything React Native teams need without stitching tools together.

Metro Bundler Caching

Persistent Metro bundler cache slashes JavaScript bundle times on repeat builds. Warm caches mean sub-minute JS build steps.

CodePush OTA Updates (Coming Soon)

Native CodePush integration is on our roadmap. For now, invoke the App Center CLI from a custom-script step to ship JS-only updates without store review.

iOS + Android in One Workflow

A single React Native codebase fans out to parallel iOS and Android build jobs. Both platforms build, sign, and publish in the same pipeline run.

Node & RN Version Management

Pin Node.js and React Native versions per workflow. Switch between bare workflow and Expo managed workflow without reconfiguring infrastructure.

Unified Code Signing

Manage iOS provisioning profiles and Android keystores in one encrypted vault. Both platforms are signed automatically on every release build.

Expo EAS Compatible

Run Expo EAS build commands inside Lycan workflows, or bypass EAS entirely for full pipeline control. Your choice, your infrastructure.

How it works

From commit to users — native binaries and OTA bundles — in four steps.

01

Connect your repo

Link GitHub, GitLab, or Bitbucket. Lycan detects your React Native project, package.json, and ios/android directories automatically.

02

Configure Metro cache

Enable persistent bundler caching and select your Node version. Set environment variables for each build configuration.

03

Add signing credentials

Import iOS certificates and upload your Android keystore once. Lycan encrypts them and injects them into every build automatically.

04

Deploy to stores + OTA

Push a commit. Lycan builds iOS and Android in parallel, ships native binaries to stores, and optionally pushes a CodePush bundle.

Workflow as code

Cross-platform + OTA in one YAML file

Define your entire React Native delivery pipeline — native builds, store submissions, and CodePush OTA — in a single versioned lycan.yml.

  • Metro bundler cache configuration
  • Node.js version pinning
  • Parallel iOS and Android build targets
  • CodePush bundle push per environment
lycan.yml
# lycan.yml — React Native build & publish workflow
name: React Native Release

trigger:
  branches:
    - main
    - "release/*"

node:
  version: "20"
  cache: npm

metro:
  cache: true
  reset_cache: false

targets:
  - platform: ios
    xcode_version: "16.2"
    scheme: MyApp
    signing:
      method: automatic
      profile_type: app-store
    distribute:
      testflight:
        enabled: true
        groups:
          - internal-qa

  - platform: android
    gradle_task: bundleRelease
    signing:
      keystore: ${{ secrets.ANDROID_KEYSTORE }}
    distribute:
      google_play:
        track: internal

Ready to automate your React Native pipeline?

14-day free trial. No credit card required. Cancel anytime.