際際滷

際際滷Share a Scribd company logo
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
AKIBA.swift 及6指
2016/10/25(Tue)
峠弥樗岻@DeNA
fastlane x iOSアプリのCI
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
徭失B初
? 峠弥 樗岻@DeNA
? Us
? GWの_k ★ ホムペサ`ビスの_k、iOSアプリの_k ★ SWET
? SWET(Software Engineer in Test)
? 並Iサポ`トチ`ム / テスト児Pチ`ム
? ミッション
? DeNAサ`ビス畠違の瞳|鯢
? DeNAエンジニアの_k伏b來鯢
? 暴がやっていること(の匯何)
? クライアントアプリ巓りのテスト藺圈徭咼謄好箸礼_k
? CI/CDh廠屁
? テスト児Ph廠の_k
? iOS Test Night 麼岸
? http://testnight.connpass.com/event/41323/
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
書晩のk燕の送れ
? iOS x CI
? CIでおこなうステップ
? gHのCIh廠のO協
? Jenkins
? CircleCI
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
iOS x CI (1/2)
? CI(@A議インテグレ`ション)
? CD(@A議デリバリ`)というのもありますが、まずはCI
? CI(@A議インテグレ`ション)のメリット
? (ある殻業の)瞳|のS隔
? 採をおこなっているかに卆贋し笋錣
? 撹砿尖されたマシンによるビルド
? 光バ`ジョンが屁っている(はず)
? 恬Iコストのp
? 返圷で佩っている恬Iを販せられる
? 恬Iの侘塀岑晒
? 返圷で佩っていた恬IをCLIでおこなうことによる侘塀岑晒
? 蛍裂?個鋲のための秤鵑糧ゝ
? ビルドrgの容卞など
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
iOS x CI (2/2)
? CIを誼るために駅勣なこと
? 貧望のS辛
? CIにはどうしてもコストがかかります..
? クラウド、オンプレのどちらにするかの登僅
? プロジェクトのト、やりたいことを未まえて登僅
? CLI貧での荷恬
? CI貧で嘛させるには駅勣
? ¥書指のメインはコチラ
? CIがあることにより誼られるもの
? 芦伉湖
? ファンの咄がガンガンしない徭マシン
? CIh廠の初o
? クラウド、オンプレで初oの餓はある(初o0はしい)
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
CIでおこなうステップ(箭)
? アプリのビルド
? アプリのテスト
? 床議盾裂(swiftLint)
? アプリのdeploy(DeployGate / Crashlytics)
? iTunesConnectへのupload
? AppStoreのデ`タ厚仟
? SlackにY惚宥岑
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
CIでおこなうステップ x fastlaneo
fastlaneを聞わずにCIにのせようとすると
? アプリのビルド(箭)
? xcodebuild Cproject xxxx.xcodeproj Ctarget xxxxx Csdk
iphonesimulator Cconfiguration Debug build
? アプリのテスト(箭)
? xcodebuild Cproject xxxx.xcodeproj Cscheme xxxxx Csdk
iphonesimulator Cdestination ¨platform=iOS Simulartor,
name=iPhone 6s¨ test
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
CIでおこなうステップ x fastlane
? アプリのビルド
? gym
? アプリのテスト
? scan
? 床議盾裂(swiftLint)
? swiftlint
? アプリのdeploy(DeployGate / Crashlytics)
? deploygate
? crashlytics
? iTunesConnectへのupload / AppStoreのデ`タ厚仟
? deliver
? SlackにY惚宥岑
? slack
See: https://github.com/fastlane/fastlane/tree/master/fastlane/lib/fastlane/actions
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
CIでおこなうステップ x fastlane C 1st step
? ¥アプリのビルド
? gym
? アプリのテスト
? scan
? 床議盾裂(swiftLint)
? swiftlint
? アプリのdeploy(DeployGate / Crashlytics)
? deploygate
? crashlytics
? iTunesConnectへのupload / AppStoreのデ`タ厚仟
? deliver
? ¥SlackにY惚宥岑
? slack
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
Fastfileの喘吭
fastlane_version "1.105.3 ̄
default_platform :ios
platform :ios do
before_all do
ENV[^SLACK_URL ̄] || = https://hooks.slack.com/..
cocoapods
end
desc  ̄build ipa file ̄
lane :build do
increment_build_number
gym(
workspace: ^fastlane-sample.xcworkspace",
scheme:  ̄fastlane-sample",
configuration:  ̄Release",
clean: true,
use_legacy_build_api: true,
output_name:  ̄fastlane-sample.ipa",
)
end
error do |lane, exception|
slack(
message: exception.message,
success: false
)
end
end
fastlane/Fastfileの箭
? コマンド
? アプリのビルド
? bundle exec fastlane build
? 払,靴燭slackにpostされる
撹の箭
- fastlane/Fastfile
- Gemfile
- Gemfile.lock
- Podfile
- Podfile.lock
- fastlane-sample.xcodeproj
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
JenkinsのO協の箭(1/2)
? ビルドパラメ`タ
? 鵑箸覆branchのO協
? ソ`スコ`ド砿尖
? Repository URLの峺協
? Branch Specifierの峺協
ソ`スコ`ド砿尖の箭
ビルドパラメ`タ
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
JenkinsのO協の箭(2/2)
ビルドの箭
ビルド瘁のI尖の箭
? ビルド返の弖紗
? シェルのg佩
? ビルド瘁のI尖の弖紗
? JunitテストY惚の鹿
? 撹惚麗を隠贋
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
Jenkinsの箭 C g佩Y惚
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
CircleCIの箭
machine:
xcode:
version: 7.3.1
environment:
XCODE_SCHEME: fastlane-sample
XCODE_WORKSPACE: fastlane-sample.xcworkspace
GYM_CODE_SIGNING_IDENTITY: ^iPhone Distribution: XXXX XXXX(YYYY) ̄
dependencies:
test:
override:
- bundle exec fastlane build
post:
- cp fastlane/report.xml $CIRCLE_TEST_REPORTS
circle.ymlの箭
☆iOSアプリでの旋喘は嗤創です($39/month?)
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
まとめ
? fastlaneを宴旋に聞ってCIを喘吭しましょう
? ステップの畠てを匯櫃砲笋蕕査gなところから彭返しましょう
? まずはアプリのビルドからはじめるのが措いです

More Related Content

fastlane x iOSアプリのCI

  • 1. Copyright ? DeNA Co.,Ltd. All Rights Reserved. AKIBA.swift 及6指 2016/10/25(Tue) 峠弥樗岻@DeNA fastlane x iOSアプリのCI
  • 2. Copyright ? DeNA Co.,Ltd. All Rights Reserved. 徭失B初 ? 峠弥 樗岻@DeNA ? Us ? GWの_k ★ ホムペサ`ビスの_k、iOSアプリの_k ★ SWET ? SWET(Software Engineer in Test) ? 並Iサポ`トチ`ム / テスト児Pチ`ム ? ミッション ? DeNAサ`ビス畠違の瞳|鯢 ? DeNAエンジニアの_k伏b來鯢 ? 暴がやっていること(の匯何) ? クライアントアプリ巓りのテスト藺圈徭咼謄好箸礼_k ? CI/CDh廠屁 ? テスト児Ph廠の_k ? iOS Test Night 麼岸 ? http://testnight.connpass.com/event/41323/
  • 3. Copyright ? DeNA Co.,Ltd. All Rights Reserved. 書晩のk燕の送れ ? iOS x CI ? CIでおこなうステップ ? gHのCIh廠のO協 ? Jenkins ? CircleCI
  • 4. Copyright ? DeNA Co.,Ltd. All Rights Reserved. iOS x CI (1/2) ? CI(@A議インテグレ`ション) ? CD(@A議デリバリ`)というのもありますが、まずはCI ? CI(@A議インテグレ`ション)のメリット ? (ある殻業の)瞳|のS隔 ? 採をおこなっているかに卆贋し笋錣 ? 撹砿尖されたマシンによるビルド ? 光バ`ジョンが屁っている(はず) ? 恬Iコストのp ? 返圷で佩っている恬Iを販せられる ? 恬Iの侘塀岑晒 ? 返圷で佩っていた恬IをCLIでおこなうことによる侘塀岑晒 ? 蛍裂?個鋲のための秤鵑糧ゝ ? ビルドrgの容卞など
  • 5. Copyright ? DeNA Co.,Ltd. All Rights Reserved. iOS x CI (2/2) ? CIを誼るために駅勣なこと ? 貧望のS辛 ? CIにはどうしてもコストがかかります.. ? クラウド、オンプレのどちらにするかの登僅 ? プロジェクトのト、やりたいことを未まえて登僅 ? CLI貧での荷恬 ? CI貧で嘛させるには駅勣 ? ¥書指のメインはコチラ ? CIがあることにより誼られるもの ? 芦伉湖 ? ファンの咄がガンガンしない徭マシン ? CIh廠の初o ? クラウド、オンプレで初oの餓はある(初o0はしい)
  • 6. Copyright ? DeNA Co.,Ltd. All Rights Reserved. CIでおこなうステップ(箭) ? アプリのビルド ? アプリのテスト ? 床議盾裂(swiftLint) ? アプリのdeploy(DeployGate / Crashlytics) ? iTunesConnectへのupload ? AppStoreのデ`タ厚仟 ? SlackにY惚宥岑
  • 7. Copyright ? DeNA Co.,Ltd. All Rights Reserved. CIでおこなうステップ x fastlaneo fastlaneを聞わずにCIにのせようとすると ? アプリのビルド(箭) ? xcodebuild Cproject xxxx.xcodeproj Ctarget xxxxx Csdk iphonesimulator Cconfiguration Debug build ? アプリのテスト(箭) ? xcodebuild Cproject xxxx.xcodeproj Cscheme xxxxx Csdk iphonesimulator Cdestination ¨platform=iOS Simulartor, name=iPhone 6s¨ test
  • 8. Copyright ? DeNA Co.,Ltd. All Rights Reserved. CIでおこなうステップ x fastlane ? アプリのビルド ? gym ? アプリのテスト ? scan ? 床議盾裂(swiftLint) ? swiftlint ? アプリのdeploy(DeployGate / Crashlytics) ? deploygate ? crashlytics ? iTunesConnectへのupload / AppStoreのデ`タ厚仟 ? deliver ? SlackにY惚宥岑 ? slack See: https://github.com/fastlane/fastlane/tree/master/fastlane/lib/fastlane/actions
  • 9. Copyright ? DeNA Co.,Ltd. All Rights Reserved. CIでおこなうステップ x fastlane C 1st step ? ¥アプリのビルド ? gym ? アプリのテスト ? scan ? 床議盾裂(swiftLint) ? swiftlint ? アプリのdeploy(DeployGate / Crashlytics) ? deploygate ? crashlytics ? iTunesConnectへのupload / AppStoreのデ`タ厚仟 ? deliver ? ¥SlackにY惚宥岑 ? slack
  • 10. Copyright ? DeNA Co.,Ltd. All Rights Reserved. Fastfileの喘吭 fastlane_version "1.105.3 ̄ default_platform :ios platform :ios do before_all do ENV[^SLACK_URL ̄] || = https://hooks.slack.com/.. cocoapods end desc  ̄build ipa file ̄ lane :build do increment_build_number gym( workspace: ^fastlane-sample.xcworkspace", scheme:  ̄fastlane-sample", configuration:  ̄Release", clean: true, use_legacy_build_api: true, output_name:  ̄fastlane-sample.ipa", ) end error do |lane, exception| slack( message: exception.message, success: false ) end end fastlane/Fastfileの箭 ? コマンド ? アプリのビルド ? bundle exec fastlane build ? 払,靴燭slackにpostされる 撹の箭 - fastlane/Fastfile - Gemfile - Gemfile.lock - Podfile - Podfile.lock - fastlane-sample.xcodeproj
  • 11. Copyright ? DeNA Co.,Ltd. All Rights Reserved. JenkinsのO協の箭(1/2) ? ビルドパラメ`タ ? 鵑箸覆branchのO協 ? ソ`スコ`ド砿尖 ? Repository URLの峺協 ? Branch Specifierの峺協 ソ`スコ`ド砿尖の箭 ビルドパラメ`タ
  • 12. Copyright ? DeNA Co.,Ltd. All Rights Reserved. JenkinsのO協の箭(2/2) ビルドの箭 ビルド瘁のI尖の箭 ? ビルド返の弖紗 ? シェルのg佩 ? ビルド瘁のI尖の弖紗 ? JunitテストY惚の鹿 ? 撹惚麗を隠贋
  • 13. Copyright ? DeNA Co.,Ltd. All Rights Reserved. Jenkinsの箭 C g佩Y惚
  • 14. Copyright ? DeNA Co.,Ltd. All Rights Reserved. CircleCIの箭 machine: xcode: version: 7.3.1 environment: XCODE_SCHEME: fastlane-sample XCODE_WORKSPACE: fastlane-sample.xcworkspace GYM_CODE_SIGNING_IDENTITY: ^iPhone Distribution: XXXX XXXX(YYYY) ̄ dependencies: test: override: - bundle exec fastlane build post: - cp fastlane/report.xml $CIRCLE_TEST_REPORTS circle.ymlの箭 ☆iOSアプリでの旋喘は嗤創です($39/month?)
  • 15. Copyright ? DeNA Co.,Ltd. All Rights Reserved. まとめ ? fastlaneを宴旋に聞ってCIを喘吭しましょう ? ステップの畠てを匯櫃砲笋蕕査gなところから彭返しましょう ? まずはアプリのビルドからはじめるのが措いです