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?
Converted and distributed by TomeVault — claim your Tome and manage your conversions.