Fernando 기술 블로그

iOS개발자 라면 꼭 알아야할 Fastlane 파헤치기

fastlane

Fastlane 도대체 뭔가요?

Fastlane가 무엇인지 몰랐던 저에게는 가장 먼저 나왔던 말입니다.

너무나도 빠르게 변해버린 개발환경에 적응을 하지 못해 무엇인지도 몰랐습니다. 저처럼 몰랐던 분들을 위해 간단 명료하게 정리를 해드리기 위해서 작성하는 포스팅 입니다. 지금 이글을 읽는 순간 Fastlane을 모르신다고 너무 겁먹지마세요.

알고보면 참 간단하고 조금만 알면 사용하기 매우 쉬운 유용한 오픈소스 도구입니다.

Fastlane 이란?

간단명료하게 정리해 드리자면 Fastlane (https://fastlane.tools/) 은 iOS 앱을 개발하면서 필요한 모든 귀찮은일 (인증서관리, 배포, 테스트) 등을 자동화 시켜주는 도구라고 생각하시면 편합니다.

귀찮은 일들을 모두 대신해주는 똑똑한 오픈소스 프로젝트입니다

설명은 이것으로 충분하고 어떠한 기능들이 있는지 공식 홈페이지를 기준으로 하나씩 상세하게 설명을 해드리겠습니다.

Fastlane 에서 지원되는 기능은 다음과 같습니다.

스크린샷 자동화 ( AUTOMATE SCREENSHOTS )
배포 자동화 ( BETA DEVELOPMENT) 
앱스토어 배포 자동화 (APPSTORE DEVELOPMENT)
앱 서명 / 인증서 관리  (CODE SIGNING)

크게 보면 총 4가지 부문을 지원하고 있습니다. 그렇지만 배포는 하나로 묶을 수 있기 때문에 테스트 자동화, 배포 자동화, 인증서 관리 이 3가지 기능을 자동화 하고싶을때 사용하면 매우매우 유용한 도구라고 보시면 됩니다

유용하다고 하긴 하는데 도대체 뭐가 유용한건지는 바로 아래에 설명을 이어 나가도록 하겠습니다

순서는 제가 생각하기에 유용한 순으로 정리를 해보도록 할게요

인증서 / 앱 서명 관리 🔐

오래전에 개발을 해봤던 iOS 개발자라면 누구나 인증서를 다루면서 고통을 받은 기억이 있을것입니다.

개발과정중에 인증서 갱신 생성 삭제를 해야하기 때문에 짜증나는 작업이었어요. 알 수 없는 이유로 빌드가 안되기도 하고

인증서가 만료되면 삭제하고 다시 생성해야하고 상상하기도 싫습니다

하지만 Fastlane 을 이용한다면 이야기가 달라집니다

인증서에 관련된 기능들은 다음과 같습니다

Function Description
match 현재 프로젝트에 맞는 인증서를 알아서 매칭시켜줍니다.
cert 인증서를 새로 생성해줍니다
sigh 코드 사이닝을 (development, release) 알맞게 해줍니다

자세한 내용은 https://docs.fastlane.tools/codesigning/getting-started/ 문서를 참조 하시면 됩니다.

배포 자동화 🚀

배포 자동화는 제가 정말로 좋아하는 기능 입니다. 베타버전 배포시에 이용하는 Fabric 이나 Firebase 를 통한 배포를 자동으로 해줍니다.

한번 사용을 해보면 다음부터는 사용을 안할 이유가 없을 정도로 기능이 매우 강력합니다.

연동하여 지원되는 배포 플러그인들은 다음과 같습니다

Platforms Description
TestFlight Apple에서 제공하는 베타 테스트 도구입니다
Crashlytics (Fabric Beta) Fabric에서 제공하는 Beta 배포 도구이며, 최근에는 Firebase와 통합되었습니다.
AppStore ItunesConnect 에 업로드 가능합니다.

이외에도 본인의 서버에 직접 ipa 파일을 업로드하거나, 다른 서비스들과 연동을 할 수 있습니다.

위의 표는 국내에서 가장 많이 사용되는 것들 을 기준으로 작성하였으며, 이 외의 연동가능한 서비스들이 궁금하시다면

https://docs.fastlane.tools/getting-started/ios/beta-deployment/ 위 링크로 이동하시면 확인이 가능합니다.

3줄로 요약을 하자면,

Fastlane은 개발과정에서 필요한 잡다한일을 대신 해주는 도구이며 인증서관리, 배포를 자동으로 해주는 도구이다. Fastlane 짱짱맨 이다

이제 Fastlane이 어떨때 쓰는 도구인지 알아보았으니, 실제로 프로젝트에 적용은 어떻게 하는건지 알아야겠죠?

다음 글에서는 실제 프로젝트에 Fastlane을 적용하면서 느낀 꿀팁들을 공유해드리도록 하겠습니다.

혹시나 글이 이상하거나 수정할 점이 있다면 이야기해주세요 🤔


Written by@fernando
iOS 개발자이며 다양한 업무 자동화에 관심이 많습니다.

GitHubTwitterLinkedIn