
iOS 플랫폼의 Jenkins CI 환경 구축하기
두줄요약
Travis CI의 빌드 시간 기반 과금과 제한된 환경 설정 문제를 해결하기 위해 iOS용 Jenkins CI를 구축했습니다. GitHub PR·댓글 트리거로 테스트와 Firebase·TestFlight 배포를 연동했습니다.
문제 상황
- iOS Pull Request마다 build·unit test를 수행하며 Travis CI 사용량과 비용 증가
- 개인 MacBook보다 긴 빌드 시간과 불명확한 빌드 머신 성능
- 빌드 시간 기반 과금 및 제한적인 환경 설정 옵션
해결 방법
- Homebrew로 Jenkins를 설치하고 fastlane 기반 unit test lane 실행 환경 구성
- GitHub 저장소 SSH 권한, PR refspec,
${sha1}브랜치 지정으로 PR 빌드 연결 - GitHub Pull Request Builder 플러그인과 webhook으로 빌드 트리거·상태 통보 연동
구조와 흐름
- GitHub Pull Request 이벤트를 webhook으로 Jenkins에 전달
- 사전 설정된 iOS 빌드 환경에서 fastlane job 실행 후 GitHub에 결과 반영
- PR 댓글 트리거로 Firebase App Distribution과 TestFlight 배포 job 실행
성능/운영 포인트
- iOS 빌드 도구 사전 설치로 초기 prebuild 시간 최소화
- 관리자·개발 그룹 등록으로 빌드 실행 권한 제한
- Jenkins 자원을 활용한 unit test와 배포 job 분리 운영


