본문으로 바로가기
리옵트 핸드북
리옵트 핸드북
Expo 엔터프라이즈 프로덕션

New Architecture

SDK 56 브레이킹 체인지 총정리New Architecture 딥다이브React 19.2 동시성 패턴

네이티브 확장

Ch4. Expo UI — SwiftUI·Compose 선언형 네이티브Ch5. expo-widgets 홈 화면 위젯Expo Modules API v2 네이티브 확장

빌드·배포

EAS Build 고급 파이프라인EAS Update OTA 배포 전략보안·코드 서명·컴플라이언스

운영·품질

성능 모니터링·프로파일링테스트 전략 — E2E·네이티브·비주얼엔터프라이즈 앱 배포·MDM 통합

부록

검증 리포트업데이트 내역
핸드북›Expo 엔터프라이즈 프로덕션›EAS Build 고급 파이프라인
한국어English

EAS Build 고급 파이프라인

EAS Build 프로파일, 캐시, EAS 환경, 모노레포 설정을 조합해 Expo 엔터프라이즈 빌드 파이프라인을 안정화하는 방법입니다.

핵심 요약

  • EAS CLI 19.1.0/SDK 56 기준 Node 22.13.x·Xcode 26.4 기본 이미지를 eas.json의 node 필드로 고정합니다.
  • 빌드 프로파일은 development/preview/production으로 나누고 production에 autoIncrement와 EAS_GRADLE_CACHE=1을 켭니다.
  • 환경 변수 visibility는 plain text(공개 EXPO_PUBLIC_*)/sensitive/secret(signing·service account)로 구분해 운영합니다.
  • 프로덕션 게이트는 npx expo-doctor, npx expo install --check, eas build --profile production을 통과해야 합니다.
  • Release candidate는 같은 runtimeVersion으로 preview에서 OTA 검증 후 production으로 승격합니다.

EAS CLI 19.1.0 기준 변경사항

변경프로덕션 영향
Node 22.13.x 기준SDK 56 프로젝트의 CI·EAS Workflows 런타임을 Node 22 계열로 고정
Xcode 26.4 기본 이미지SDK 56 iOS build profile에서 image 미지정 시 Xcode 26.4 사용
xcodebuild·Gradle step timing빌드 병목을 dashboard에서 단계별로 추적
프리빌트 Expo ModulesiOS SDK 56+에서 기본 활성화, clean build 단축
프리빌트 커뮤니티 아티팩트react-native-reanimated, react-native-screens 등 주요 라이브러리 빌드 시간 감소
Gradle cacheEAS_GRADLE_CACHE=1로 Android task output cache 사용
EAS Environment variablesBuild·Update·Workflows·Hosting에서 환경별 값을 중앙 관리

빌드 프로파일 전략

// eas.json
{
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal",
      "env": { "APP_VARIANT": "development" }
    },
    "preview": {
      "distribution": "internal",
      "env": { "APP_VARIANT": "preview" }
    },
    "production": {
      "autoIncrement": true,
      "node": "22.13.0",
      "env": {
        "APP_VARIANT": "production",
        "EAS_GRADLE_CACHE": "1"
      }
    }
  }
}

환경 변수 운영

EAS 환경 변수는 development, preview, production을 기본 환경으로 제공합니다. Enterprise·Production 플랜이라면 custom environment도 쓸 수 있습니다.

eas env:create --name EXPO_PUBLIC_API_URL --value https://api.example.com --environment production --visibility plaintext
eas env:pull --environment production
eas build --profile production
visibility사용 위치운영 규칙
plain textEXPO_PUBLIC_*, 공개 API base URL클라이언트 번들에 들어가도 되는 값만
sensitivebuild config resolution에 필요한 비밀성 낮은 값로그 노출을 줄이되 앱에 포함될 수 있음을 전제
secretsigning, service account, private keylocal eval이나 app config에서 읽히지 않는 작업 전용 값

모노레포 빌드 최적화

  • eas.json의 node 필드와 루트 package manager 버전을 SDK 56 기준으로 고정
  • workspace lockfile이 캐시 key의 중심이 되도록 lockfile 변경을 PR에서 명시
  • custom build를 쓰는 경우 eas/restore_build_cache와 eas/save_build_cache step을 명시
  • iOS에서 prebuilt module을 끌 이유가 없으면 EXPO_USE_PRECOMPILED_MODULES를 건드리지 않음
  • native module을 직접 수정하는 패키지만 package.json의 expo.autolinking.*.buildFromSource로 선택 opt-out

Build gate

프로덕션 profile은 아래 검증을 통과해야 합니다.

npx expo-doctor
npx expo install --check
eas build --profile production --platform all --non-interactive

Release candidate는 preview profile로 먼저 빌드하고, runtimeVersion이 같은 OTA 후보를 검증한 뒤 production profile로 올립니다.

빌드 캐시 절감 시간

EAS Build 캐시 전략의 ROI를 숫자로 계산합니다.

월간 절감 시간(분)=평균 빌드 시간×캐시 히트율×월간 빌드 횟수\text{월간 절감 시간(분)} = \text{평균 빌드 시간} \times \text{캐시 히트율} \times \text{월간 빌드 횟수}월간 절감 시간(분)=평균 빌드 시간×캐시 히트율×월간 빌드 횟수

관련 문서

엔터프라이즈 앱 배포·MDM 통합

App Store·Play Store 심사, 엔터프라이즈 사이닝, MDM 배포 자동화

보안·코드 서명·컴플라이언스

Store signing·OTA code signing·secrets·runtime config 네 경계로 본 Expo 보안. expo-updates codesigning, EAS 변수 visibility, App Attest·Play Integrity, 릴리스 승인 체크리스트.

Ch6. 비용·지연시간 최적화

LLMOps·AgentOps 프로덕션 · 품질을 유지하면서 원가와 응답시간을 동시에 관리하는 운영 기법

B2B SaaS 세일즈·고객성공

수주부터 온보딩·확장·갱신까지 ARR 중심으로 운영하는 GTM 실행 핸드북

Ch5. 모드 활용

OpenCode 고급 활용 · Tab 키로 전환하는 Build·Plan 모드의 권한 차이, Plan→Build 2단계 워크플로우, primary 에이전트로 보안 감사 같은 커스텀 모드를 추가하는 방법을 다룹니다.

Expo Modules API v2 네이티브 확장

Swift/Kotlin 네이티브 모듈 작성, 이벤트 브릿지, 테스트 전략

EAS Update OTA 배포 전략

SDK 56 Hermes bytecode diff 기본값, 채널·브랜치 매핑, republish·embedded rollback, fingerprint runtimeVersion, 1·10·50·100% rollout gate로 엔터프라이즈 OTA를 운영하는 방법.

On this page

EAS CLI 19.1.0 기준 변경사항빌드 프로파일 전략환경 변수 운영모노레포 빌드 최적화Build gate빌드 캐시 절감 시간