SlideShare a Scribd company logo
1 of 38
Download to read offline
이다혜
fastlane
앱 배포 자동화 도구
순서
1. 앱 배포 자동화란?
2. fastlane 소개
3. fastlane 적용하기
가. EASY
나. Getting Started
다. Getting Stared with fastlane for iOS
4. fastlane으로 앱스토어 배포 자동화하기
1. 앱 배포 자동화란?
1. 앱 배포 자동화란?
2. fastlane 소개
2. fastlane 소개
The easiest way to build and release mobile apps.
• 모바일 앱의 개발과 배포 과정을 자동화해주는 오픈 소스 플랫폼
1. 스크린샷 자동화
2. 배타 버전 배포
3. 앱 스토어 배포
4. 코드 사이닝
• Android, iOS, Closs Platform
2. fastlane 소개
Why fastlane?
3. fastlane 적용하기
E A S Y
3. fastlane 적용하기
E A S Y
lane :beta do
increment_build_number
build_app
upload_to_testflight
end
lane :release do
capture_screenshots
build_app
upload_to_app_store # Upload the screenshots and the binary to iTunes
slack # Let your team-mates know the new version is live
end
Step 1. Fastfile 생성하기
3. fastlane 적용하기
E A S Y
Step 2. fastlane 실행하기
# generate ‘release’ lane
fastlane release
# generate ‘beta’ lane
faselane beta
3. fastlane 적용하기
Getting Started
3. fastlane 적용하기
Getting Started
Step 1. fastlane 설치하기
1-1. Managed Ruby environment + Bundler (macOS/Linux/Windows)
1-2. Homebrew
1-3. System Ruby + RubyGems (macOS/Linux/Windows)
3. fastlane 적용하기
Getting Started
Step 1. fastlane 설치하기
Homebrew Bundler
3. fastlane 적용하기
Getting Started
Step 1. fastlane 설치하기
1-1. Managed Ruby environment + Bundler (macOS/Linux/Windows)
• ruby 설치
• Bundler 설치
• ./Gemfile 파일을 프로젝트의 최상단 디렉토리에 생성
*Ruby, Bundler 설치하기
1. Homebrew로 rbenv 설치
2. rbenv를 이용하여 ruby 설치
3. bundler 설치
$ brew install rbenv
$ echo ‘eval “$(rbenv init -)”’ >> ~/.zshrc
$ rbenv install 3.1.2 # 버전이다.
$ gem install bundler
1. Homebrew로 ruby 설치
2. shell 환경설정
3. bundler 설치
$ brew install ruby
$ gem install bundler
$ open -e ~/.zshrc
*Ruby, Bundler 설치하기
if [ -d "/opt/homebrew/opt/ruby/bin" ]; then
export PATH=/opt/homebrew/opt/ruby/bin:$PATH
export PATH=`gem environment gemdir`/bin:$PATH
fi
3. fastlane 적용하기
Getting Started
Step 1. fastlane 설치하기
1-1. Managed Ruby environment + Bundler (macOS/Linux/Windows)
• ruby 설치
• Bundler 설치
• ./Gemfile 파일을 프로젝트의 최상단 디렉토리에 생성
*Gemfile 생성하기, fastlane 설치하기
1. Gem
fi
le 파일 생성
2. gem 설치하기
3. Gem
fi
le.lock은 위의 명령어를 실행하면 자동으로 생성된다.
source ‘https://rubygems.org'
gem ‘fastlane’
bundle install
3. fastlane 적용하기
Getting Started
Step 1. fastlane 설치하기
1-2. Homebrew
brew install fastlane
3. fastlane 적용하기
Getting Started
Step 1. fastlane 설치하기
1-3. System Ruby + RubyGems (macOS/Linux/Windows)
sudo gem install fastlane
쓰지마세요!!!!!
3. fastlane 적용하기
Getting Started
Step 2. fastlane 세팅하기
fastlane init
3. fastlane 적용하기
Getting Started with fastlane for iOS
3. fastlane 적용하기
Getting started with fast lane for iOS
Step 1. Xcode command line tools(macOS)
xcode-select --install
3. fastlane 적용하기
Getting started with fast lane for iOS
Step 2. 로케일(Locale) 관련 환경변수(environment variables) 세팅하기
$ open ~/.zshrc # ~/.bashrc ~/.bash_profile ~/.profile ~/.zshrc
export LC_ALL=ko_KR.UTF-8
export LANG=ko_KR.UTF-8
$ source ~/.zshrc
3. fastlane 적용하기
Getting started with fast lane for iOS
Step 3. fastlane 설치를 위한 Ruby, Bundler 설치하기
• 루비+번들러 설치
• 홈브류로 fastlane 설치할 경우 Gem
fi
le을 만들 필요 없다.
$ brew install ruby
$ gem install bundler
$ open -e ~/.zshrc
if [ -d "/opt/homebrew/opt/ruby/bin" ]; then
export PATH=/opt/homebrew/opt/ruby/bin:$PATH
export PATH=`gem environment gemdir`/bin:$PATH
fi
3. fastlane 적용하기
Getting started with fast lane for iOS
Step 4. fastlane 설치를 위한 Gem
fi
le 생성하기
• iOS 프로젝트의 root 디렉토리에 생성할 것
• bundle install 하면 Gem
fi
le.lock도 만들어진다.
source ‘https://rubygems.org'
gem ‘fastlane’
bundle install
3. fastlane 적용하기
Getting started with fast lane for iOS
Step 5. fastlane 기본 설정
• fastlane을 프로젝트에 적용하기 위한 설정을 해주자.
• 1~4번까지 선택지가 나오는데, 어차피 나중에 다시 또 설정할 수 있으므로 필요한 것을 먼저 해주자.
• 4번으로 기본 메뉴얼 세팅을 해도 좋다.
• 여기서는 앱스토어 배포 자동화를 다루고 있으므로, 3번으로 진행한다.
fastlane init
3. fastlane 적용하기
Getting started with fast lane for iOS
Step 5. fastlane 기본 설정
• fastlane을 프로젝트에 적용하기 위한 설정을 해주자.
• 1~4번까지 선택지가 나오는데, 어차피 나중에 다시 또 설정할 수 있으므로 필요한 것을 먼저 해주자.
• 4번으로 기본 메뉴얼 세팅을 해도 좋다.
fastlane init
4. fastlane으로
앱스토어 배포 자동화하기
4. fastlane으로 앱스토어 배포 자동화하기
iOS App Store deployment using fastlane
Step 1. App
fi
le 수정하기
• 앱 번들 ID, 애플 ID 등등을 입력해주자.
# The bundle identifier of your app
app_identifier("com.GitSpace.RBG")
# Your Apple Developer Portal username
apple_id(“12345@gmail.com”)
# Developer Portal Team ID
# team_id(“ABCEDFG”)
4. fastlane으로 앱스토어 배포 자동화하기
iOS App Store deployment using fastlane
Step 2. ‘release’ lane 구성하기
platform :ios do
desc “Deploy App Store”
lane :release do
get_certificates
get_provisioning_profile
increment_build_number(
build_number: latest_testflight_build_number + 1
)
build_app(
scheme: “GitSpace”
)
upload_to_app_store
slack(message: “성공적으로 앱스토어 배포!”)
end
4. fastlane으로 앱스토어 배포 자동화하기
iOS App Store deployment using fastlane
Step 2. ‘release’ lane 구성하기
platform :ios do
…
error do |lane, exception, options|
slack(
message: “에러 발생: #{excetion}”,
success: false,
slack_url: “~”
)
end
end
4. fastlane으로 앱스토어 배포 자동화하기
iOS App Store deployment using fastlane
Step 3. fastlane release !!
fastlane release
reference
• fastlane 공식 홈페이지
• fastlane 공식 문서
• Bundler 공식 문서
• iOS 앱 배포 자동화를 위한 Fastlane 설치 및 구성
• iOS — 배포 자동화, Fastlane 시작부터 적용까지
• Fastlane을 이용한 앱 자동 배포
• Fastlane 배포 자동화 적용(feat. iOS)
• [fastlane] 5. fastlane deliver로 Apple Store에 배포, TestFlight 배포
• what's difference between installing fastlane using homebrew cask, gem install and prepackaged
• homebrew vs bundler
• What is the difference between Bundler and HomeBrew?
• Don't Use the Mac System Ruby – Use This Instead
• Mac에 Ruby 설치하기(homebrew)
• How to install Ruby in a macOS for local development
• Install Ruby 3.1 · macOS

More Related Content

Similar to [GitSpace 1회 세미나] fastlane.pdf

자바 웹프로젝트 개발환경 셋팅
자바 웹프로젝트 개발환경 셋팅자바 웹프로젝트 개발환경 셋팅
자바 웹프로젝트 개발환경 셋팅Yoonsung Jung
 
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016Amazon Web Services Korea
 
N02 app engineseminar
N02 app engineseminarN02 app engineseminar
N02 app engineseminarSun-Jin Jang
 
[123] electron 김성훈
[123] electron 김성훈[123] electron 김성훈
[123] electron 김성훈NAVER D2
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: YeomanJae Sung Park
 
Internship backend
Internship backendInternship backend
Internship backendYein Sim
 
Rasberry nodejs install_final
Rasberry nodejs install_finalRasberry nodejs install_final
Rasberry nodejs install_finalKwan Yeong Kim
 
구글앱엔진+스프링+스프링datajpa+메이븐
구글앱엔진+스프링+스프링datajpa+메이븐구글앱엔진+스프링+스프링datajpa+메이븐
구글앱엔진+스프링+스프링datajpa+메이븐라한사 아
 
[IoT] MAKE with Open H/W + Node.JS - 5th
[IoT] MAKE with Open H/W + Node.JS - 5th[IoT] MAKE with Open H/W + Node.JS - 5th
[IoT] MAKE with Open H/W + Node.JS - 5thPark Jonggun
 
iOS App development
iOS App developmentiOS App development
iOS App development404warehouse
 
구글앱엔진 스터디
구글앱엔진 스터디구글앱엔진 스터디
구글앱엔진 스터디소라 정
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기JinKwon Lee
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Appsjungkees
 
ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자Sewon Ann
 
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)Amazon Web Services Korea
 
패키지 매니저 골라골라! Cocoapod, Carthage, SPM
패키지 매니저 골라골라! Cocoapod, Carthage, SPM패키지 매니저 골라골라! Cocoapod, Carthage, SPM
패키지 매니저 골라골라! Cocoapod, Carthage, SPMhyunho Lee
 
Firebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
Firebase for Web (웹개발을 위한 파이어베이스) 1 HostingFirebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
Firebase for Web (웹개발을 위한 파이어베이스) 1 Hosting승빈이네 공작소
 
Python, Development Environment for Windows
Python, Development Environment for WindowsPython, Development Environment for Windows
Python, Development Environment for WindowsKwangyoun Jung
 

Similar to [GitSpace 1회 세미나] fastlane.pdf (20)

자바 웹프로젝트 개발환경 셋팅
자바 웹프로젝트 개발환경 셋팅자바 웹프로젝트 개발환경 셋팅
자바 웹프로젝트 개발환경 셋팅
 
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
 
N02 app engineseminar
N02 app engineseminarN02 app engineseminar
N02 app engineseminar
 
[123] electron 김성훈
[123] electron 김성훈[123] electron 김성훈
[123] electron 김성훈
 
Spring boot DI
Spring boot DISpring boot DI
Spring boot DI
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman
 
Internship backend
Internship backendInternship backend
Internship backend
 
Rasberry nodejs install_final
Rasberry nodejs install_finalRasberry nodejs install_final
Rasberry nodejs install_final
 
구글앱엔진+스프링+스프링datajpa+메이븐
구글앱엔진+스프링+스프링datajpa+메이븐구글앱엔진+스프링+스프링datajpa+메이븐
구글앱엔진+스프링+스프링datajpa+메이븐
 
[IoT] MAKE with Open H/W + Node.JS - 5th
[IoT] MAKE with Open H/W + Node.JS - 5th[IoT] MAKE with Open H/W + Node.JS - 5th
[IoT] MAKE with Open H/W + Node.JS - 5th
 
iOS App development
iOS App developmentiOS App development
iOS App development
 
구글앱엔진 스터디
구글앱엔진 스터디구글앱엔진 스터디
구글앱엔진 스터디
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자
 
WIPI.ppt
WIPI.pptWIPI.ppt
WIPI.ppt
 
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
 
패키지 매니저 골라골라! Cocoapod, Carthage, SPM
패키지 매니저 골라골라! Cocoapod, Carthage, SPM패키지 매니저 골라골라! Cocoapod, Carthage, SPM
패키지 매니저 골라골라! Cocoapod, Carthage, SPM
 
Firebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
Firebase for Web (웹개발을 위한 파이어베이스) 1 HostingFirebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
Firebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
 
Python, Development Environment for Windows
Python, Development Environment for WindowsPython, Development Environment for Windows
Python, Development Environment for Windows
 

More from Lee Dahae

letswift22_우당탕탕 확장 프로그램(이다혜 light).pdf
letswift22_우당탕탕 확장 프로그램(이다혜 light).pdfletswift22_우당탕탕 확장 프로그램(이다혜 light).pdf
letswift22_우당탕탕 확장 프로그램(이다혜 light).pdfLee Dahae
 
USG iOS 성과발표회 '가사오케' 발표.pdf
USG iOS 성과발표회 '가사오케' 발표.pdfUSG iOS 성과발표회 '가사오케' 발표.pdf
USG iOS 성과발표회 '가사오케' 발표.pdfLee Dahae
 
[adiOS Korea] 발표 키노트(이다혜).pdf
[adiOS Korea] 발표 키노트(이다혜).pdf[adiOS Korea] 발표 키노트(이다혜).pdf
[adiOS Korea] 발표 키노트(이다혜).pdfLee Dahae
 
경상대 멋쟁이사자처럼 8기 정기세션 (9장 Portfoilo 만들기 - media, static).pptx
경상대 멋쟁이사자처럼 8기 정기세션 (9장 Portfoilo 만들기 - media, static).pptx경상대 멋쟁이사자처럼 8기 정기세션 (9장 Portfoilo 만들기 - media, static).pptx
경상대 멋쟁이사자처럼 8기 정기세션 (9장 Portfoilo 만들기 - media, static).pptxLee Dahae
 
경상대 멋쟁이사자처럼 8기 정기세션 (6장 Blog프로젝트 - Model,admin).pptx
경상대 멋쟁이사자처럼 8기 정기세션 (6장 Blog프로젝트 - Model,admin).pptx경상대 멋쟁이사자처럼 8기 정기세션 (6장 Blog프로젝트 - Model,admin).pptx
경상대 멋쟁이사자처럼 8기 정기세션 (6장 Blog프로젝트 - Model,admin).pptxLee Dahae
 
경상대 멋쟁이사자처럼 8기 정기세션 (4장 기본환경 설정).pptx
경상대 멋쟁이사자처럼 8기 정기세션 (4장 기본환경 설정).pptx경상대 멋쟁이사자처럼 8기 정기세션 (4장 기본환경 설정).pptx
경상대 멋쟁이사자처럼 8기 정기세션 (4장 기본환경 설정).pptxLee Dahae
 
경상대 멋쟁이사자처럼 8기 정기세션 (1장 일기장만들기).pptx
경상대 멋쟁이사자처럼 8기 정기세션 (1장 일기장만들기).pptx경상대 멋쟁이사자처럼 8기 정기세션 (1장 일기장만들기).pptx
경상대 멋쟁이사자처럼 8기 정기세션 (1장 일기장만들기).pptxLee Dahae
 

More from Lee Dahae (7)

letswift22_우당탕탕 확장 프로그램(이다혜 light).pdf
letswift22_우당탕탕 확장 프로그램(이다혜 light).pdfletswift22_우당탕탕 확장 프로그램(이다혜 light).pdf
letswift22_우당탕탕 확장 프로그램(이다혜 light).pdf
 
USG iOS 성과발표회 '가사오케' 발표.pdf
USG iOS 성과발표회 '가사오케' 발표.pdfUSG iOS 성과발표회 '가사오케' 발표.pdf
USG iOS 성과발표회 '가사오케' 발표.pdf
 
[adiOS Korea] 발표 키노트(이다혜).pdf
[adiOS Korea] 발표 키노트(이다혜).pdf[adiOS Korea] 발표 키노트(이다혜).pdf
[adiOS Korea] 발표 키노트(이다혜).pdf
 
경상대 멋쟁이사자처럼 8기 정기세션 (9장 Portfoilo 만들기 - media, static).pptx
경상대 멋쟁이사자처럼 8기 정기세션 (9장 Portfoilo 만들기 - media, static).pptx경상대 멋쟁이사자처럼 8기 정기세션 (9장 Portfoilo 만들기 - media, static).pptx
경상대 멋쟁이사자처럼 8기 정기세션 (9장 Portfoilo 만들기 - media, static).pptx
 
경상대 멋쟁이사자처럼 8기 정기세션 (6장 Blog프로젝트 - Model,admin).pptx
경상대 멋쟁이사자처럼 8기 정기세션 (6장 Blog프로젝트 - Model,admin).pptx경상대 멋쟁이사자처럼 8기 정기세션 (6장 Blog프로젝트 - Model,admin).pptx
경상대 멋쟁이사자처럼 8기 정기세션 (6장 Blog프로젝트 - Model,admin).pptx
 
경상대 멋쟁이사자처럼 8기 정기세션 (4장 기본환경 설정).pptx
경상대 멋쟁이사자처럼 8기 정기세션 (4장 기본환경 설정).pptx경상대 멋쟁이사자처럼 8기 정기세션 (4장 기본환경 설정).pptx
경상대 멋쟁이사자처럼 8기 정기세션 (4장 기본환경 설정).pptx
 
경상대 멋쟁이사자처럼 8기 정기세션 (1장 일기장만들기).pptx
경상대 멋쟁이사자처럼 8기 정기세션 (1장 일기장만들기).pptx경상대 멋쟁이사자처럼 8기 정기세션 (1장 일기장만들기).pptx
경상대 멋쟁이사자처럼 8기 정기세션 (1장 일기장만들기).pptx
 

[GitSpace 1회 세미나] fastlane.pdf

  • 2. 순서 1. 앱 배포 자동화란? 2. fastlane 소개 3. fastlane 적용하기 가. EASY 나. Getting Started 다. Getting Stared with fastlane for iOS 4. fastlane으로 앱스토어 배포 자동화하기
  • 3. 1. 앱 배포 자동화란?
  • 4. 1. 앱 배포 자동화란?
  • 6. 2. fastlane 소개 The easiest way to build and release mobile apps. • 모바일 앱의 개발과 배포 과정을 자동화해주는 오픈 소스 플랫폼 1. 스크린샷 자동화 2. 배타 버전 배포 3. 앱 스토어 배포 4. 코드 사이닝 • Android, iOS, Closs Platform
  • 9. 3. fastlane 적용하기 E A S Y lane :beta do increment_build_number build_app upload_to_testflight end lane :release do capture_screenshots build_app upload_to_app_store # Upload the screenshots and the binary to iTunes slack # Let your team-mates know the new version is live end Step 1. Fastfile 생성하기
  • 10. 3. fastlane 적용하기 E A S Y Step 2. fastlane 실행하기 # generate ‘release’ lane fastlane release # generate ‘beta’ lane faselane beta
  • 12. 3. fastlane 적용하기 Getting Started Step 1. fastlane 설치하기 1-1. Managed Ruby environment + Bundler (macOS/Linux/Windows) 1-2. Homebrew 1-3. System Ruby + RubyGems (macOS/Linux/Windows)
  • 13. 3. fastlane 적용하기 Getting Started Step 1. fastlane 설치하기 Homebrew Bundler
  • 14. 3. fastlane 적용하기 Getting Started Step 1. fastlane 설치하기 1-1. Managed Ruby environment + Bundler (macOS/Linux/Windows) • ruby 설치 • Bundler 설치 • ./Gemfile 파일을 프로젝트의 최상단 디렉토리에 생성
  • 15. *Ruby, Bundler 설치하기 1. Homebrew로 rbenv 설치 2. rbenv를 이용하여 ruby 설치 3. bundler 설치 $ brew install rbenv $ echo ‘eval “$(rbenv init -)”’ >> ~/.zshrc $ rbenv install 3.1.2 # 버전이다. $ gem install bundler
  • 16. 1. Homebrew로 ruby 설치 2. shell 환경설정 3. bundler 설치 $ brew install ruby $ gem install bundler $ open -e ~/.zshrc *Ruby, Bundler 설치하기 if [ -d "/opt/homebrew/opt/ruby/bin" ]; then export PATH=/opt/homebrew/opt/ruby/bin:$PATH export PATH=`gem environment gemdir`/bin:$PATH fi
  • 17. 3. fastlane 적용하기 Getting Started Step 1. fastlane 설치하기 1-1. Managed Ruby environment + Bundler (macOS/Linux/Windows) • ruby 설치 • Bundler 설치 • ./Gemfile 파일을 프로젝트의 최상단 디렉토리에 생성
  • 18. *Gemfile 생성하기, fastlane 설치하기 1. Gem fi le 파일 생성 2. gem 설치하기 3. Gem fi le.lock은 위의 명령어를 실행하면 자동으로 생성된다. source ‘https://rubygems.org' gem ‘fastlane’ bundle install
  • 19. 3. fastlane 적용하기 Getting Started Step 1. fastlane 설치하기 1-2. Homebrew brew install fastlane
  • 20. 3. fastlane 적용하기 Getting Started Step 1. fastlane 설치하기 1-3. System Ruby + RubyGems (macOS/Linux/Windows) sudo gem install fastlane 쓰지마세요!!!!!
  • 21. 3. fastlane 적용하기 Getting Started Step 2. fastlane 세팅하기 fastlane init
  • 22. 3. fastlane 적용하기 Getting Started with fastlane for iOS
  • 23. 3. fastlane 적용하기 Getting started with fast lane for iOS Step 1. Xcode command line tools(macOS) xcode-select --install
  • 24. 3. fastlane 적용하기 Getting started with fast lane for iOS Step 2. 로케일(Locale) 관련 환경변수(environment variables) 세팅하기 $ open ~/.zshrc # ~/.bashrc ~/.bash_profile ~/.profile ~/.zshrc export LC_ALL=ko_KR.UTF-8 export LANG=ko_KR.UTF-8 $ source ~/.zshrc
  • 25. 3. fastlane 적용하기 Getting started with fast lane for iOS Step 3. fastlane 설치를 위한 Ruby, Bundler 설치하기 • 루비+번들러 설치 • 홈브류로 fastlane 설치할 경우 Gem fi le을 만들 필요 없다. $ brew install ruby $ gem install bundler $ open -e ~/.zshrc if [ -d "/opt/homebrew/opt/ruby/bin" ]; then export PATH=/opt/homebrew/opt/ruby/bin:$PATH export PATH=`gem environment gemdir`/bin:$PATH fi
  • 26. 3. fastlane 적용하기 Getting started with fast lane for iOS Step 4. fastlane 설치를 위한 Gem fi le 생성하기 • iOS 프로젝트의 root 디렉토리에 생성할 것 • bundle install 하면 Gem fi le.lock도 만들어진다. source ‘https://rubygems.org' gem ‘fastlane’ bundle install
  • 27. 3. fastlane 적용하기 Getting started with fast lane for iOS Step 5. fastlane 기본 설정 • fastlane을 프로젝트에 적용하기 위한 설정을 해주자. • 1~4번까지 선택지가 나오는데, 어차피 나중에 다시 또 설정할 수 있으므로 필요한 것을 먼저 해주자. • 4번으로 기본 메뉴얼 세팅을 해도 좋다. • 여기서는 앱스토어 배포 자동화를 다루고 있으므로, 3번으로 진행한다. fastlane init
  • 28.
  • 29. 3. fastlane 적용하기 Getting started with fast lane for iOS Step 5. fastlane 기본 설정 • fastlane을 프로젝트에 적용하기 위한 설정을 해주자. • 1~4번까지 선택지가 나오는데, 어차피 나중에 다시 또 설정할 수 있으므로 필요한 것을 먼저 해주자. • 4번으로 기본 메뉴얼 세팅을 해도 좋다. fastlane init
  • 30.
  • 31.
  • 32.
  • 34. 4. fastlane으로 앱스토어 배포 자동화하기 iOS App Store deployment using fastlane Step 1. App fi le 수정하기 • 앱 번들 ID, 애플 ID 등등을 입력해주자. # The bundle identifier of your app app_identifier("com.GitSpace.RBG") # Your Apple Developer Portal username apple_id(“12345@gmail.com”) # Developer Portal Team ID # team_id(“ABCEDFG”)
  • 35. 4. fastlane으로 앱스토어 배포 자동화하기 iOS App Store deployment using fastlane Step 2. ‘release’ lane 구성하기 platform :ios do desc “Deploy App Store” lane :release do get_certificates get_provisioning_profile increment_build_number( build_number: latest_testflight_build_number + 1 ) build_app( scheme: “GitSpace” ) upload_to_app_store slack(message: “성공적으로 앱스토어 배포!”) end
  • 36. 4. fastlane으로 앱스토어 배포 자동화하기 iOS App Store deployment using fastlane Step 2. ‘release’ lane 구성하기 platform :ios do … error do |lane, exception, options| slack( message: “에러 발생: #{excetion}”, success: false, slack_url: “~” ) end end
  • 37. 4. fastlane으로 앱스토어 배포 자동화하기 iOS App Store deployment using fastlane Step 3. fastlane release !! fastlane release
  • 38. reference • fastlane 공식 홈페이지 • fastlane 공식 문서 • Bundler 공식 문서 • iOS 앱 배포 자동화를 위한 Fastlane 설치 및 구성 • iOS — 배포 자동화, Fastlane 시작부터 적용까지 • Fastlane을 이용한 앱 자동 배포 • Fastlane 배포 자동화 적용(feat. iOS) • [fastlane] 5. fastlane deliver로 Apple Store에 배포, TestFlight 배포 • what's difference between installing fastlane using homebrew cask, gem install and prepackaged • homebrew vs bundler • What is the difference between Bundler and HomeBrew? • Don't Use the Mac System Ruby – Use This Instead • Mac에 Ruby 설치하기(homebrew) • How to install Ruby in a macOS for local development • Install Ruby 3.1 · macOS