ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [iOS] fastlane🚀으로 TestFlight/deploy 자동화 적용해보기!!
    Programing/iOS 2020. 10. 21. 03:30

    안녕하세요~! 5anniversary입니다!!

     

    이번 포스팅에서는 fastlane을 통해 배포(?) 자동화 하는 법을 알아보도록 할게요~!~!

     

    아직 학생인지라... 정해진 프로세스 없이 iOS 개발을 해왔는데요~!

     

    이번에 마루 앱을 개발하게 되면서 홍보를 위해서, 그리고 팀원들과의 소통을 위해 지속적으로 결과물이 공유되어야한다는 필요성을 

     

    느끼게 되었어요...

     

    그래서 App Store Connect 검수 알림에 대한 글도 작성하게 되었구요!!

     

    그런데 추가적으로 위 글과 별개로 fastlane을 선택하고 사용하게 된 계기는 이전까지 배포를 하는 과정에서

     

    쓸데없이 버려지는 시간들이 너무 크게 느껴지고, 팀원들과 공유를 목적으로 사용하는 슬랙에서 좀 더 효과적으로 자동화에 대한 필요로

     

    사용을 하게 되었어요!!

     

    자 그럼 어떻게 사용을 하는지 하나씩 알아보도록 할까요??

     

    우선 fastlane을 사용할때 Xcode를 커맨드 라인으로 빌드하게 되기 때문에 Xcode 커맨드 라인 툴을 다운 받아볼게요!!

     

    xcode-select --install

     

    그리고 fastlane을 다운 받아볼까요??

     

    // RubyGems로 다운받기 (지금은 아니지만 맥, 윈도우, 리눅스에서 받을때 사용하세요!!) 
    sudo gem install fastlane -NV 
    
    // homebrew로 다운받기 (only macOS)
    brew install fastlane

     

    자 이제 fastlane을 다운 받았어요!!

     

    우리가 사용하려는 프로젝트의 최상단 폴더에서 초기화를 해볼까요??

    fastlane init

     

     

     

    1. 📸  Automate screenshots
    2. 👩‍✈️  Automate beta distribution to TestFlight
    3. 🚀  Automate App Store distribution
    4. 🛠  Manual setup - manually setup your project to automate your tasks

     

    4가지의 선택지가 있어요.

     

    여기서 우리는 2번을 선택해볼게요!! ( 테스트 플라이트를 올릴때 사용해볼게요~~! )

     

    자 여기서는 개발자 계정으로 가입이 된 애플계정으로 작성해주세요!!

     

    [02:48:55]: ------------------------------
    [02:48:55]: --- Where to go from here? ---
    [02:48:55]: ------------------------------
    [02:48:55]: 📸  Learn more about how to automatically generate localized App Store screenshots:
    [02:48:55]: 		https://docs.fastlane.tools/getting-started/ios/screenshots/
    [02:48:55]: 👩‍✈️  Learn more about distribution to beta testing services:
    [02:48:55]: 		https://docs.fastlane.tools/getting-started/ios/beta-deployment/
    [02:48:55]: 🚀  Learn more about how to automate the App Store release process:
    [02:48:55]: 		https://docs.fastlane.tools/getting-started/ios/appstore-deployment/
    [02:48:55]: 👩‍⚕️  Learn more about how to setup code signing with fastlane
    [02:48:55]: 		https://docs.fastlane.tools/codesigning/getting-started/
    [02:48:55]:
    [02:48:55]: To try your new fastlane setup, just enter and run
    [02:48:55]: $ fastlane beta

     

    그러면 이런 설명으로 끝나게 되구요!! fastlane 파일과 Gemfile들이 생성이 되요!!

     

    여기서 저희들이 주의깁게 볼 파일은 fastlane파일인데요!!

     

    Appfile의 경우에는 앱 정보와 회원정보이 담긴 파일

     

    Fastfile의 경우에는 자동화를 할 fastlane 명령어들이 담긴 파일이에요

     

    자 여기서!!

     

    fastlane beta를 작성해볼까요?? 

     

    처음에는 codesigning 이슈로 인해 막히게 될텐데요...

     

    문서에서 나와있듯이 해결 방법이 두가지로 나와있는데요 저는 2번째인 cert and sigh로 해결을 했어요

     

    해결 방법은 앱 암호를 인증하라는 메시지를 보내줬을때 앱 암호를 입력하는것인데요

     

    이곳에서 생성한 앱 암호를 입력해주시면 됩니다!!

     

    결과적으로 얼마나 시간이 걸렸는지 시간까지 한 눈에 보이게 나오네요!!

     

    🎉🎉 커맨드라인 하나로 간단하게 테스트플라이트까지 올려봤네요!! 🎉🎉

     


     

    그리고 여기서 목적중에 하나인 슬랙에 메시지를 보내는 것도 자동화를 해볼까요??

     

    우선 슬랙 웹 훅 URL을 가져와주셔야해요~~

     

    링크로 들어가시면 새로운 웹 훅 url을 생성해주세요!!

    이 URL을 통해서 슬랙으로 보내게 되는데요

     

        slack(
          message: "앱이 App Store Connect에 성공적으로 업로드 되었습니다.",
          channel: "#ios-app-updates",
          slack_url: "SLACK_WEBHOOK_URL"
        )

    라고 작성해주시면 ios-app-updates 채널에 업로드 성공 메시지를 보내게 됩니다!!

    좀 더 자세한 내용은 여기서 참고해주시면 좋을거같아요!!

     

    이상으로 간단하게 알아본 fastlane이었습니다!!

     

    이제 다른 프로젝트에서도 하나씩 적용을 해야겠네요~!

    'Programing > iOS' 카테고리의 다른 글

    [WWDC 2021] What’s new in AVFoundation  (1) 2021.07.28
    [WWDC 2021] async / await  (0) 2021.06.30
    [iOS] custom Font 쉽게 적용하기!!  (0) 2020.10.16
    [iOS] SwiftLint 적용해보기!!  (0) 2020.10.09
    [iOS] Toaster 만들기  (0) 2020.09.25

    댓글

Designed by Tistory.