Deployment Pipeline
When to use this skill
- •When setting up CI/CD (GitHub Actions, Bitrise, etc.).
- •When configuring Fastlane.
- •When preparing production or beta releases.
- •When troubleshooting build failures in CI.
Environment Setup
Define distinct environments with separate configuration (API keys, Bundle IDs):
- •Development: Debug builds, localhost/dev API.
- •Staging: Release/Profile builds, staging API, distributed via TestFlight/Firebase.
- •Production: Release builds, prod API, App Store/Play Store.
Build Process
Automate these steps in your CI pipeline:
- •Linting: Run ESLint and TypeScript check (
tsc --noEmit). - •Testing: Run unit and integration tests. Fail build on error.
- •Build: Generate the binary (.ipa / .aab) for the target environment.
- •Source Maps: Upload source maps to error tracking service (Sentry/BugSnag).
iOS Deployment (Fastlane)
- •Certificates: Use
matchto manage code signing certificates and profiles securely in a private repo. - •Versioning: Automate build number incrementation (
increment_build_number). - •Beta: Upload to TestFlight.
- •Release: Submit to App Store Review (or hold for manual release).
Android Deployment
- •Signing: Securely manage Keystore and signing keys (inject via CI secrets).
- •Versioning: Increment
versionCodeautomatically. - •Formats: Always deploy App Bundles (
.aab) to Play Console, not APKs. - •Tracks: Deploy to
internaloralphatracks first, then promote toproduction.
Pre-deployment Checklist
Before triggering a production release:
- • Tests: All unit and E2E tests passing?
- • Clean Console: No critical errors or warnings in logs?
- • Performance: Startup time and frame rate within limits?
- • Accessibility: Basic a11y checks passed?
- • Legal: Privacy policy up to date?
- • Store Assets: Screenshots and descriptions ready?