목록 보기
iOS 플랫폼의 Jenkins CI 환경 구축하기
데브옵스

iOS 플랫폼의 Jenkins CI 환경 구축하기

화해
화해
2021년 6월 16일

두줄요약

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 분리 운영

다음 읽기

#iOS 주제를 다룬 다른 회사 글

올리브영 iOS 테스트앱 자동배포하기

fastlane으로 iOS 테스트 앱의 빌드 번호 증가와 TestFlight 업로드를 자동화했습니다. Slack 알림을 연동해 배포 결과와 브랜치·커밋 이력을 확인합니다.

올리브영
올리브영
데브옵스

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...