-
[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