Upgrade to Pro — share decks privately, control downloads, hide ads and more …

fastlaneで快適な開発ライフを

28f57a43ae8eba102877b7a3d64f688a?s=47 Kohei Tabata
October 21, 2016

 fastlaneで快適な開発ライフを

28f57a43ae8eba102877b7a3d64f688a?s=128

Kohei Tabata

October 21, 2016
Tweet

Transcript

  1. fastlaneͰշదͳ ։ൃϥΠϑΛʂ 2016/10/25 AKIBA.swift@Ϋϥεϝιουגࣜձࣾ

  2. ࣗݾ঺հ ɾKohei Tabata(@nerd0geek1) ɾSaib Studio LLC ɾiOS/MacOS/tvOS Developer ɾFastlaneେ޷͖ ɾAKIBA.swiftେ޷͖

    Said Studio LLC Kohei Tabata Next! Remote quick-zip plus Sleeple
  3. http://next.saib-stud.io

  4. ࣗಈԽͯ͠·͢ʁ

  5. ָͯ͠·͢ʁ

  6. ·ͩखಈϏϧυͰ ফ໣ͯ͠Δͷʁ

  7. ಋೖܦݧऀͷ੠ ɾखಈ഑෍ͰϦζϜΛ่͞ΕΔ͜ͱ͕ͳ͘ͳΓ·ͨ͠ʂ(28ࡀɺஉੑ) ɾPM΍POɺσβΠφʔͱਐḿɺ࢓༷ͷೝࣝͷڞ༗ָ͕ʹͳΓ·ͨ͠ʂ(28ࡀɺஉੑ) ɾਃ੥࣌ͷୀ۶ͳख࡞ۀ͔Β։์͞Ε·ͨ͠ʂ(28ࡀɺஉੑ) ɾmetadata͕؅ཧͰ͖ΔΑ͏ʹͳΓɺਃ੥࣌ͷจݴͷ౷Ұ͕ਤΕΔΑ͏ʹͳΓ·ͨ͠ʂ fastlaneΛ࢖͏ͱ͜Μͳʹ޾ͤʹ❗❗❗

  8. ໨࣍ ɾfastlaneͱ͸ ɾfastlaneΛߏ੒͢Δgem ɾfastlaneʹؚ·ΕΔaction ɾfastlaneͰ޾ͤʹͳΔํ๏

  9. fastlaneͱ͸ ɾfastlane͸ɺiOS/Mac(+Android)ΞϓϦ։ൃʹؔΘΔୀ۶ͳ ɹ࡞ۀΛ؆қԽ͢ΔͨΊʹ࡞ΒΕͨπʔϧ܈ɻ ɾrubyͰॻ͔Εɺgemͱͯ͠഑෍͞Ε͍ͯΔɻ ɾҰੲલͷɺnomad CLIͷཱͪҐஔɻ

  10. fastlaneಋೖاۀ ɾsaib studio ɾWantedly ɾMercari ɾMoney Forward ɾFablic ɾDeNA ɾookami

    etc…
  11. fastlaneΛߏ੒͢Δgem ɾframeit ɾpem ɾsigh ɾproduce ɾcert ɾspaceship ɾpilot ɾboarding ɾgym

    ɾmatch ɾscan ɾdeliver ɾsupply ɾscreengrab ɾsnapshot
  12. fastlaneΛߏ੒͢Δgem ɾframeit ɾpem ɾsigh ɾproduce ɾcert ɾspaceship ɾpilot ɾboarding ɾgym

    ɾmatch ɾscan ɾdeliver ɾsupply ɾscreengrab ɾsnapshot
  13. fastlaneΛߏ੒͢Δgem ɾdeliver ɾsnapshot ɾframeit ɾpem ɾsigh ɾproduce ɾcert ɾspaceship ɾpilot

    ɾboarding ɾgym ɾmatch ɾscan
  14. fastlaneΛߏ੒͢Δgem ɾdeliver ɾsnapshot ɾpem ɾsigh ɾpilot ɾgym ɾscan

  15. Provisioning ProfileΛੜ੒ɾߋ৽ɾμ΢ϯϩʔυ͢ΔͨΊͷgem ɾ͋Δbundle identifierʹରԠ͢ΔDebug༻ϑΝΠϧͷੜ੒ɾμ΢ϯϩʔυ ɹsigh --development ɾ͋Δbundle identifierʹରԠ͢ΔAdHoc༻ϑΝΠϧͷੜ੒ɾμ΢ϯϩʔυ ɹsigh --adhoc

    ɾiOS Dev Center্ͷશϑΝΠϧͷμ΢ϯϩʔυ ɹsigh --download_all ͏Ε͍͠ϙΠϯτ ɾϒϥ΢β΍XcodeΑΓߴ଎ʹϑΝΠϧΛऔಘͰ͖Δɻ ɾίϚϯυ1ͭͰৗʹ࠷৽ͷProvisioning Profile͕औಘͰ͖Δ(ಛʹCI؀ڥԼͰศར)
  16. push௨஌༻ূ໌ॻΛ࡞੒͢ΔͨΊͷgemɻpem/cer/p12ϑΝΠϧΛੜ੒͢Δ ɾ͋Δbundle identifierʹରԠ͢Δূ໌ॻϑΝΠϧ܈ͷੜ੒ ɹpem ɾ͋Δbundle identifierʹରԠ͢Δূ໌ॻϑΝΠϧ܈(ύεϫʔυ෇͖)ͷੜ੒ ɹpem -p “password” ͏Ε͍͠ϙΠϯτ

    ɾpemϑΝΠϧੜ੒ͷͨΊͷ͋ΒΏΔۤߦ͔Β։์͞ΕΔ
  17. iOS/Mac appͷςετ࣮ߦΛ؆қԽ͢ΔͨΊͷgemɻ ɾςετͷ࣮ߦ ɹscan ɾworkspaceɺschemeΛࢦఆͨ͠ςετͷ࣮ߦ ɹscan --workspace "Example.xcworkspace" --scheme "AppName"

    ͏Ε͍͠ϙΠϯτ ɾ࠷௿ݶworkspaceɺschemeΛࢦఆ͢Δ͚ͩͰςετΛ࣮ߦ͢Δ͜ͱ͕Ͱ͖Δ
  18. ipa/appϑΝΠϧΛੜ੒͢ΔͨΊͷgemɻshenzhenΑΓ30%ߴ଎ͱͷ͜ͱɻ ɾipaͷੜ੒ ɹgym ɾworkspaceɺschemeΛࢦఆͨ͠ipaͷੜ੒(AdHoc༻schemeΛఆ͍ٛͯͨ͠৔߹) ɹgym --workspace "Example.xcworkspace" --scheme "AppNameAdHoc" ͏Ε͍͠ϙΠϯτ

    ɾ؆୯ʹipaϑΝΠϧͷੜ੒͕Մೳɻ ɾࣗಈԽ&ipa/dSYMϑΝΠϧͷੜ੒ɾอଘΛߦ͏ͱޙ͔Βόάௐࠪ౳Λߦ͏ࡍʹศརɻ ͭΒ͍ϙΠϯτ ɾϓϩδΣΫτʹΑࣦͬͯഊ͢Δ৔߹͋Γ(--use_legacy_build_apiΦϓγϣϯͰճආՄೳ)
  19. TestFlightʹର͢Δૢ࡞Λఏڙ͢Δgemɻޙड़͢ΔdeliverͰͷipaϑΝΠϧΞοϓϩʔυ͕ ࣦഊ͢Δ͜ͱ͕ଟ͘ɺTestFlightͱਃ੥༻ipa͕૬ޓʹస༻ՄೳͳͨΊɺਃ੥༻ipaϑΝΠϧ ͷΞοϓϩʔυʹ΋ར༻ ɾipaϑΝΠϧͷΞοϓϩʔυ(ॲཧ଴ͪͤͣ) ɹpilot --skip_submission --skip_waiting_for_build_processing ͏Ε͍͠ϙΠϯτ ɾ؆୯ʹipaϑΝΠϧͷΞοϓϩʔυ͕Մೳ ɾdeliverͷ୅ସखஈͱͳΓ͏Δ

  20. iTunes Connect্Ͱొ࿥͢ΔεΫϦʔϯγϣοτͷࡱӨΛࣗಈԽ͢Δgemɻ ϩʔΧϥΠζͨ͠εΫϦʔϯγϣοτؚΊͯࣗಈͰࡱӨ͢Δɻ ɾεΫϦʔϯγϣοτͷࡱӨ(͜ΕҎ֎ʹXcodeͷUI TestingΛఆٛ͢Δඞཁ͋Γ) ɹsnapshot ͏Ε͍͠ϙΠϯτ ɾScreenShot SimplificationͰඞཁͳεΫϦʔϯγϣοτͷຕ਺͕গͳ͘ͳͬͨͱ͸͍͑ ɹୀ۶ͳ࡞ۀΛࣗಈԽͰ͖Δ

  21. iTunes Connect΁ͷmetadataΞοϓϩʔυΛ؆қԽ͢Δgemɻ ΦϓγϣϯʹΑͬͯɺmetadataͷΈɺscreenshotͷΈɺipaͷΈΛΞοϓϩʔυ͢Δͱ ͍ͬͨ͜ͱ͕Մೳ(ipaϑΝΠϧͷΞοϓϩʔυʹ͍ͭͯ͸Τϥʔ͕ൃੜ͢Δ͜ͱ͋Γ)ɻ ɾmetadataͷΞοϓϩʔυ(metadataͷΈ) ɹdeliver --skip_binary_upload --skip_screenshots ɾmetadataͷΞοϓϩʔυ(screenshotͷΈ) ɹdeliver

    --skip_binary_upload --skip_metadata ͏Ε͍͠ϙΠϯτ ɾiTunes Connect্ͷmetadataͷൈ͚࿙Εͷͳ͍ߋ৽ɺόʔδϣϯ؅ཧ͕༰қʹɻ
  22. fastlaneʹؚ·ΕΔaction ύοέʔδϚωʔδϟ ɾcocoapods ɾcarthage ίϛϡχέʔγϣϯπʔϧ ɾchatwork ɾhipchat ɾmailgun ɾslack ɾtwitter

    ɾifttt
  23. fastlaneʹؚ·ΕΔaction ϕʔλςεςΟϯά ɾcrashlytics ɾdeploygate ɾhockey ɾinstallr ɾs3 ϓϩδΣΫτ؅ཧ ɾjira ࿈ܞ΋ॆ࣮ʂ

  24. fastlaneͰ޾ͤʹͳΔํ๏ ɾͰ͖Δ͜ͱ͔Β࢝ΊΔɻॳΊ͔Βશ෦΍Ζ͏ͱ͠ͳ͍ ɹɹ- ੲɺਓʹCIಋೖΛ૬ஊͨ͠ࡍʹݴΘΕͨݴ༿ - gym&crashlytics&CIͰϕʔλ഑෍ͷࣗಈԽͱ͔ ɹɹ- deliverͰਃ੥पΓͷࣗಈԽͱ͔ɻ ɹɹ- গͣͭ͠޾ͤʹͳΔɻՄॲ෼࣌ؒΛ૿΍͢

  25. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ

  26. ࢀߟ ɾfastlane/fastlane ɹ(https://github.com/fastlane/fastlane) ɾFastlane͕։ൃऀͨͪͷΞϓϦϦϦʔε࡞ۀͷ100ສ࣌ؒΛ୹ॖ - Twitter Japan Developer Blog ɹ(https://blog.twitter.com/ja/2016/0408fastlane)

    ɾiOSΞϓϦਃ੥Λڻ͘΄Ͳ؆୯ʹʂfastlaneͰ͸͡ΊΔࣗಈԽೖ໳ - Wantedly Engineer Blog ɹ(https://www.wantedly.com/companies/wantedly/post_articles/30973) ɾiOSΞϓϦͷϦϦʔεϑϩʔࣗಈԽπʔϧfastlaneͷmeetupʹ௨༁ͰࢀՃ… - Mercari Engineering Blog ɹ(http://tech.mercari.com/entry/2015/07/13/143000) ɾfastlane ͷ snapshot Ͱ iOS ։ൃϓϩηεࣗಈԽ - Money Forward Engineers’ Blog ɹ(https://moneyforward.com/engineers_blog/2015/08/11/fastlane-snapshot-ios/)