A Journey to Continuous Delivery with Flutter - SNCF Connect & Tech | Flutter Heroes 2025 Talk
- Flutter를 선택하는 것은 프로젝트의 첫 번째 좋은 결정입니다. 크로스 플랫폼 기술로서 코드 작성량을 줄이고 여러 스택을 모니터링하는 데 시간을 절약할 수 있습니다. 📱
- 지속적 배포의 핵심은 안정성과 품질을 저하시키지 않으면서 매우 자주 푸시하는 것입니다. 이를 위해 자동화된 테스트, 빌드, 배포 파이프라인을 구축해야 합니다. 🚀
- 빌드 파이프라인은 린팅, 컴파일, 테스트 실행, 코드 생성, 추가 테스트, 배포를 포함해야 합니다. 모든 단계를 자동화하는 것이 중요합니다. ⚙️
- GitHub Actions, Bitrise, Codemagic과 같은 다양한 CI/CD 도구를 활용하여 파이프라인을 구축할 수 있습니다. GitLab On-Prem과 Kubernetes 클러스터를 사용하는 것도 좋은 선택입니다. 🛠️
- 빌드 및 테스트를 위한 경량 이미지를 사용하고, Gradle 기술을 활용하여 캐시를 공유하고, 오프라인 Pub 모드를 사용하여 빌드 시간을 단축할 수 있습니다. ⏳
- 코드 생성을 확인하고, 로컬 훅을 사용하여 린팅을 수행하고, 번들 도구를 사용하여 앱 크기를 정기적으로 모니터링하는 것이 중요합니다. 🔍
- 앱 센터와 같은 내부 테스트 배포 도구를 사용하고, Golden 테스트를 활용하여 시각적 회귀, 테마, 접근성을 테스트할 수 있습니다. 🖼️
- APM과 같은 UI 테스트 프레임워크를 사용하여 릴리스를 보호하고, 코드 품질 및 취약점을 측정하기 위해 정적 코드 분석 도구를 사용할 수 있습니다. 🛡️
- Play Store 및 App Store의 새로운 규칙, 정책, 요구 사항, 지침을 숙지하고, 스토어에서 제공하는 안정성, 성능, 접근성에 대한 인사이트를 활용해야 합니다. 📢
- Android의 배포 비율 조정 및 iOS의 자동화된 롤아웃 프로세스와 같은 롤아웃 전략을 신중하게 선택하고, 앱 서명 및 Play Integrity와 같은 스토어 추가 보안 기능을 고려해야 합니다. 🔑
- Fastlane과 같은 도구를 사용하여 스토어 배포를 간소화하고, Feature Flags를 사용하여 런타임에 앱의 동작을 변경할 수 있습니다. 🚩