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

ユビレジiOSアプリ開発のCI/CD環境 / iOS Test Night #1

ユビレジiOSアプリ開発のCI/CD環境 / iOS Test Night #1

8e2e0edcf1ffc34e5fbc9ccf7c9a1328?s=128

Noritaka Kamiya

November 18, 2016
Tweet

Transcript

  1. iOS Test Night #1 @nolili Noritaka Kamiya ϢϏϨδ iOSΞϓϦ։ൃ ͷCI/CD؀ڥ

  2. None
  3. None
  4. None
  5. ςετपΓʹؔ͢Δ΋ͷͰ͋Ε͹ԿͰ΋0,Ͱ͢ɻ ྫΛ͋͛Δͱ͢Ε͹ҎԼͷΑ͏ͳ΋ͷͳͲͰ͢ɻ  w ͜ͷςεςΟϯάϑϨʔϜϫʔΫ͸͕͜͜ϋϚΓͲ͜Ζ  w ςεςΟϯάϑϨʔϜϫʔΫΛ͜͏΍ͬͯ࢖͍෼͚͍ͯΔ  w

    ͜͜ͷػೳ͸͜͏΍ͬͯ޻෉ͯ͠ςετ͍ͯ͠Δ  w ࠓɺ͜ͷ$*͕೤͍  w $*$%؀ڥΛ͜ͷΑ͏ͳײ͡Ͱ࡞ΓࠐΜͰ͍Δ  w +FOLJOT৬ਓͷۤ࿑࿩ iOS Test Night
  6. Έͳ͞Μͷ$*$%؀ڥ͸ͲΜͳײ͡Ͱ͔͢ʁ ·ͩ΍ͬͯͳ͍ ࠓ࡞ͬͯΔ όϦόϦճͯ͠Δ ❓

  7. ϢϏϨδͷCI/CD؀ڥ

  8. Travis CI UFTUJ04 ࠷৽ͷJ044JNVMBUPSͰςετ UFTUJ04MFHBDZ αϙʔτ͍ͯ͠Δݹ͍J044JNVMBUPSͰςετ MJOU TXJGUMJOU εΫϦϓτ EJTUSJCVUJPO

    Ϗϧυɺ഑෍ ಠࣗαʔό
  9. Test test iOS iOS 9.3, iPad Air/iPad 2 test iOS

    legacy iOS 8.4, iPad Air/iPad 2 ΞʔΩςΫνϟΛ໢ཏͭͭ͠ɺγϛϡϨʔλ੾Γସ͑࣌ͷτϥϒϧΛ๷͙ ฒྻ࣮ߦͯ͠ςετ࣌ؒͷ୹ॖ XCTest, KIF
  10. lint swiftlint

  11. distribution Ad-HocϏϧυΛPull-Request୯ҐͰ࡞੒ Πϯετʔϧ͙࣮ͯ͢͠ػͰ֬ೝͰ͖Δ Releaseλά͕͋Ε͹App Store༻΋࡞੒

  12. ͏·͘ճͨ͢Ίʹ৺͕͚͍ͯΔ͜ͱ

  13. .travis.yml + Rakefile CI/CDͷϑϩʔ͸શͯίʔυʹهड़ ୭Ͱ΋PRͰվળ͕Ͱ͖Δ CI/CDͷվળ΋ίʔυϨϏϡʔ͢Δ͜ͱͰɺଐਓԽ͕ى͖ʹ͘͘ͳΔɻ νʔϜ։ൃͰͳ͍৔߹͸ΦʔόʔεϖοΫ͔΋͠Εͳ͍ɻ

  14. Cocoapods BundlerͰόʔδϣϯΛ؅ཧ ./Pods ͸ϦϙδτϦʹؚΊΔ Ϗϧυ࣌ͷঢ়ଶΛ෮ݩͰ͖ΔΑ͏ʹ͓ͯ͘͠ɻgit bisect΋ָɻ CocoapodsͷόʔδϣϯΛ؅ཧ͢Ε͹ࠩ෼͸ग़ͳ͍ɻ

  15. Xcode Server ࢼݧతʹಋೖத σόΠεςετ ιʔείʔυ੩తղੳͰ݈શੑνΣοΫ ͓कΓ͕େม .xcodeserver ϑΝΠϧͷΑ͏ͳ΋ͷͰ؅ཧͰ͖ΔΑ͏ʹͳͬͯ΄͍͠…!

  16. CIαʔϏε΁ͷґଘΛݮΒ͢ Fastlane, XCJobs, Rake(Script) ڈ೥CircleCI -> Travis CI ͷҾӽ͠Λ2ճ࣮ࢪ

  17. None
  18. None
  19. iOSͷCI/CD؀ڥ͸1೥ʹ࠷௿1౓յΕΔ Xcode iTunes Connect มߋʹ௥ै͢ΔίετΛߟ͑Δ γϯϓϧʹอͭ Ͳͷ͘Β͍࡞ΓࠐΉ͔ Swiftͷόʔδϣϯ΋བྷΈ࢝ΊΔ ࣮͸ࠓյΕ͍ͯͯम෮தɹ" ৐Γ׵͑΋ݕ౼த

  20. ςετपΓʹؔ͢Δ΋ͷͰ͋Ε͹ԿͰ΋0,Ͱ͢ɻ ྫΛ͋͛Δͱ͢Ε͹ҎԼͷΑ͏ͳ΋ͷͳͲͰ͢ɻ  w ͜ͷςεςΟϯάϑϨʔϜϫʔΫ͸͕͜͜ϋϚΓͲ͜Ζ  w ςεςΟϯάϑϨʔϜϫʔΫΛ͜͏΍ͬͯ࢖͍෼͚͍ͯΔ  w

    ͜͜ͷػೳ͸͜͏΍ͬͯ޻෉ͯ͠ςετ͍ͯ͠Δ  w ࠓɺ͜ͷ$*͕೤͍  w $*$%؀ڥΛ͜ͷΑ͏ͳײ͡Ͱ࡞ΓࠐΜͰ͍Δ  w +FOLJOT৬ਓͷۤ࿑࿩
  21. ࠓɺ͜ͷ$*͕೤͍ˠ$*αʔϏεʹґଘ͠ͳ͍࡞ΓΛ $*$%؀ڥΛ͜ͷΑ͏ͳײ͡Ͱ࡞ΓࠐΜͰ͍ΔˠγϯϓϧͰɾมߋʹ௥ैΛ +FOLJOT৬ਓͷۤ࿑࿩ˠશͯΛϦϙδτϦʹೖΕͯɺ৬ਓΛ࡞Βͳ͍

  22. ஌Γ͍ͨ CI/CD؀ڥ͸ͲΜͳײ͡Ͱ͔͢?# ͲͷλΠϛϯάͰϝϯςφϯε͍ͯ͠·͔͢?

  23. iOS Test Night #1 @nolili Noritaka Kamiya ϢϏϨδ iOSΞϓϦ։ൃ ͷCI/CD؀ڥ