iOS/CI/CD

fastlane - iOS 배포 자동화 -1

@서비 2022. 3. 27. 01:05

1. 설치

 

brew를 이용해 설치를 해준다. m1 mac에서도 별 다른 error 없이도 실행이 된다.

brew install fastlane
sudo gem install bundler

 

 

2. 초기셋업

프로젝트로 들어가서 실행하면 메뉴가 나오는데 4번을 선택한다. 선택하면 기본 설정 파일들이 프로젝트에 추가된다.

fastlane init
fastlane init

 

3. 설정

프로젝트 폴더 안에 fastlane 폴더에 들어가서 Appfile을 수정해 주어야 한다.

작성을 안 하면 필요할 때마다 물어본다.

나 같은 경우는 팀 계정하고 개인 계정이 있어서 둘 중에 어떤 걸 사용할지 물어보기 때문에 해당 옵션도 같이 작성한다.

# app_identifier("[[APP_IDENTIFIER]]") # The bundle identifier of your app
# apple_id("[[APPLE_ID]]") # Your Apple email address

app_identifier("com.xxx.xxxx") //bundle id
apple_id("xxx@xxx.com") //apple id
team_id("Q2CBPJ58CA") //개인 계정하고 팀 계정이 있을 경우 어떤 걸로 할지 앱 개발자
itc_team_id("18742801") //개인 계정하고 팀 계정이 있을 경우 어떤 걸로 할지 앱스토어

# For more information about the Appfile, see:
#     https://docs.fastlane.tools/advanced/#appfile

 

같은 위치에 Fastfile 이 있는데 실제 어떤 동작을 할지 명령을 적는 곳이라고 보면 된다.

설정은 일단 구글링으로 하나 집어와서 넣고 시작한다....

다른 건 건드릴 필요 없어 보이고 명령어가 아주 정확하게 명시를 하고 있어서 설명할 필요도 없어 보인다.

혹시 자세히 알고 싶으면 블로그 하단에 fastlane docs로 가서 확인하면 된다.

나는 슬랙은 연동 안 하니까 일단 해당 라인을 막아 두고 진행한다.

desc "build app and upload to testflight"
lane : beta do. // lane 이름
     get_certificates 
     get_provisioning_profile
     increment_build_number(
            build_number: latest_testflight_build_number + 1
    )
    build_app(
        configuration: "Debug"
    )
    #upload_to_testflight slack(
     #   message: "Testflight 배포에 성공했습니다!",
     # slack_url: "https://hooks.slack.com/자신의 채널 훅스 링크"
     #)
end

 

 

4. 실행

프로젝트 폴더로 돌아와서 실행하면 

fastlane beta

 

terminal 화면에서 실행되고, 혹시 문제가 있다면 error 화면이 나오는데 케이스에 맞추어 진행하면 된다.

 

혹시 테스트를 위해 프로젝트를 만들었다면

developer.apple.com 

으로 들어가서 identifiers 하고 profiles 만들어야 하고,

appstoreconnect.apple.com

으로 들어가서 앱 추가해서 앱을 생성해 두어야 한다.

 

fastlane 성공화면
fastlane 성공화면

5. 완료

성공하면 로그가 찍히고빌드 시간도 알려준다.

 

 

 

총정리:

전반적으로 아주 편안하고 좋다. docs 보면서 이것저것 추가해 보면 재밌을 거 같다. iOS 배포를 하다 보면 가끔 혹시 내가 뭔가 잘못하고 있진 않나 하고 고민될 때가 있는데, 이런 식으로 자동화해두면 처음에 세팅했던 대로 빌드가 되고 배포가 될 테니 그런 불편함이 없어질 거 같다.

 

 

 

 

 

 

참고 

https://medium.com/hcleedev/ios-%EB%B0%B0%ED%8F%AC-%EC%9E%90%EB%8F%99%ED%99%94-fastlane-%EC%8B%9C%EC%9E%91%EB%B6%80%ED%84%B0-%EC%A0%81%EC%9A%A9%EA%B9%8C%EC%A7%80-3d9107cdc3b4

 

https://docs.fastlane.tools/

 

 

2022.04.11 - [iOS] - fastlane - iOS 배포 자동화-2

 

fastlane - iOS 배포 자동화-2

기존에 작성한 Fastfile은 앱을 빌드까지만 하고 업로드는 하지 않는다. 이제 Fastfile을 수정하여 testFlight용도로 업로드를 해보자 1. Fastfile 수정 일단 나는 워크스페이스를 쓰기 때문에 워크스페이

iosdevhistory.tistory.com