올리브영, 개발/운영 앱 분리로 개발 생산성 UP!
by DD
5개월 전
조회수 93
Android Product Flavor와 iOS xcconfig를 활용하여 개발 앱과 운영 앱을 분리
앱 식별자 분리를 통해 한 기기에서 두 앱 동시 설치를 가능하게 함
CI/CD 구축 및 환경 검증 기준 마련으로 배포 안정성 확보
Android Build Variant와 iOS Scheme을 활용한 환경 분리
Android는 Build Variant를 통해, iOS는 Scheme을 활용하여 개발/운영 환경을 명확히 구분했다. 구체적으로, 각 환경에 맞는 Build Configuration과 xcconfig를 설정하여, 빌드 시점부터 환경 설정을 강제한다. 따라서, 개발자는 환경 전환을 위해 앱을 재설치할 필요가 없어지고, CI/CD 자동화가 용이해진다.
xcconfig를 통한 환경별 설정 관리
iOS에서 xcconfig 파일을 사용하여 환경별 설정을 관리함으로써, 코드 내 하드코딩을 최소화했다. API_BASE_URL과 같은 설정 값을 xcconfig로 분리하여, 환경 변경 시 빌드 설정을 수정하는 것만으로 대응할 수 있다. 반면, 이 방식은 설정 파일 관리에 대한 추가적인 노력이 필요하다.
CI/CD 파이프라인 구축 및 환경 검증
GitHub Actions 기반 CI/CD를 구축하여, 각 환경에 맞는 빌드를 자동화하고 배포 리스크를 줄였다. DEV/PROD 워크플로우를 분리하여, 잘못된 환경 설정으로 인한 배포 사고를 방지한다. 결과적으로, 앱 설치 확인, 엔드포인트 확인 등 검증 기준을 마련하여, 환경 분리의 안정성을 확보했다.