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

CI/CDと継続的ワークフロー改善

39d636034f806b2bb51165a93774ab79?s=47 gaussbeam
February 21, 2019

 CI/CDと継続的ワークフロー改善

2019.02.21 CI/CD Test Night #3 @ DeNA

39d636034f806b2bb51165a93774ab79?s=128

gaussbeam

February 21, 2019
Tweet

Transcript

  1. CI/CDͱܧଓతϫʔΫϑϩʔվળ d5FTU/JHIUͷӨڹͰ࢝Ίͨ$*$%վળͰಘͨؾ͖ͮd hanyu @ Nest Egg, Inc. 2019.02.21 | CI/CD

    Test Night #3
  2. HANYU / @gaussbeam iOS App Developer ࣗಈஷۚΞϓϦ finbee | NestEgg,

    Inc
  3. ͢΂ͯͷ͸͡·Γ͸CI/CD Test Night

  4. BEFORE 2018/11 ɾϏϧυ σϓϩΠ ɹɹɾ3FMFBTF ɹɹɾ4UBHJOH ɹɹɾ'JFME5FTU AFTER 2019/1 ɾϏϧυ

    σϓϩΠ ɹɹɾ3FMFBTF ɹɹɾ4UBHJOH ɹɹɾ'JFME5FTU ɹɹɾ4BOECPY ɾσΠϦʔϏϧυ ɾϥΠϒϥϦߋ৽νΣοΫ ɾE4:.Ξοϓϩʔυ ɾ 8*1 ςετࣗಈԽ ʜ
  5. σΠϦʔϏϧυ

  6. $*$%ͷୈҰาʂ !

  7. ୭΋Πϯετʔϧͯ͘͠Εͳ͍ʜ "

  8. ໨త͸ͳΜͩͬͨʁ  ͍ͭͰ΋୭Ͱ΋࠷৽൛Λ৮ΕΔΑ͏ʹ͍ͨ͠  $*ͰϏϧυ͕Ͱ͖ͳ͘ͳ͍ͬͯͨΒ͙͢ʹ஌Γ͍ͨ w ͷػݏ͕มΘͬͯͳ͍͔ w ϩʔΧϧͰ͸ݟա͝͞Εͨ໰୊͕ͳ͍͔

  9. ໨త͸ͳΜͩͬͨʁ  ͍ͭͰ΋୭Ͱ΋࠷৽൛Λ৮ΕΔΑ͏ʹ͍ͨ͠  $*ͰϏϧυ͕Ͱ͖ͳ͘ͳ͍ͬͯͨΒ͙͢ʹ஌Γ͍ͨ w ͷػݏ͕มΘͬͯͳ͍͔ w ϩʔΧϧͰ͸ݟա͝͞Εͨ໰୊͕ͳ͍͔ ಓ൒͹͕ͩɺ൒෼͸໨తΛୡ੒ͨ͠!

  10. νʔϜͷঢ়ଶʹ߹Θͤͯௐ੔ w σΠϦʔϏϧυ͸ܧଓ w ʮ$*ͰϏϧυͰ͖ͳ͍ʂʯ͸͙͢ʹݕ஌Ͱ͖Δ w ഑෍ઌ͸։ൃऀͷΈʹมߋ w ඞཁʹԠͯ͡౎౓ςελΛ௥Ճ w

    ݱঢ়ͷνʔϜମ੍ʹ͸ͪ͜Βͷํ͕ϑΟοτ w ഑෍ࡁΈͷϏϧυʹট଴͢Δ͚ͩͳͷͰɺ౎౓Ϗϧυ͢ΔΑΓ͸Ϛγ w ʮຖ೔ೖΕͯ౰વʯͳ෩౔Λ࡞͍ͬͯ͘ w 2"ମ੍ͷ֦ॆ౳ͱ߹Θͤͯ
  11. ϥΠϒϥϦߋ৽νΣοΫ Thanks to CI/CD Test Night !!

  12. w ֓ཁʹ͸ߋ৽ର৅ͷҰཡ w ि࣍ͰνΣοΫʴࣗಈϓϧϦΫ w $BSUIBHF$PDPBQPET w $BSUIBHFͷϏϧυ͸͠ͳ͍
 Ωϟογϡ੍ޚͰͭ·͍ͮͨ w

    ͦͷଞͷ࡞ۀ͸νΣοΫϦετ
  13. # $ w উखʹνΣοΫͯ͘͠Εָͯ w ݟΔDiff͕খ͘͞ͳͬͨ w ࡞ۀ͕໌֬ʹͳͬͨ w ຖि΍Δʹ͸͚ͬ͜͏ͭΒ͍

    w ߋ৽ྔʹΑΒͣҰఆͷΦʔόʔϔου w $BSUIBHFϏϧυলུ͸΍ͬͺΓͭΒ͍ w ୯ಠͰϦϦʔε͍͕ͨ͠ɺϦδΣΫτ ͞ΕΔͱશମͷܭըʹӨڹ
  14. ཧ૝Λ௥͏ͱɺ΍Δ͜ͱ͍ͬͺ͍ w νΣοΫִؒ͸ʁ w ର৅͸$BSUIBHFʁ$PDPBQPETʁ྆ํʁ w Ϗϧυ͢Δʁ w 1VMM3FRVFTU͸Ͳ͏͢Δʁ w

    ֓ཁ͸Ͳ͜·Ͱॻ͘ʁ w ϒϥϯνӡ༻͸ʁϚʔδϦϦʔεܭը͸ʁ w ख࢝Ί͸ߋ৽ͷ༗ແΛ4MBDL௨஌͢Δ͚ͩͰ΋͍͍͔΋"
  15. E4:.ΞοϓϩʔυࣗಈԽ Thanks to CI/CD Test Night !!

  16. E4:.Ξοϓϩʔυʹ͍ͭͯ؆୯ʹ w ׬શࣗಈԽ͸΍΍໘౗ w ipaΞοϓϩʔυޙɺApp Store ConnectͰͷॲཧΛ଴ͭඞཁ͋Γ w ˞bitcodeΛ༗ޮʹ͍ͯ͠Δ৔߹ w

    લճͷCI/CD Test NightͰ΋ݴٴ͋Γ̈ † https://speakerdeck.com/qmihara/bitcode-woyou-xiao-nisitaapuridemo-dsym-falseatupurodowozi-dong-hua-suru
  17. BEFORE AFTER JQBΞοϓϩʔυ ετΞਃ੥ dSYMμ΢ϯϩʔυ
 (from App Store Connect) dSYMΞοϓϩʔυ


    (to Crashlytics) JQBΞοϓϩʔυ ετΞਃ੥ dSYM
 μ΢ϯϩʔυΞοϓϩʔυ ຖि༵ۚʹਃ੥ ຖि౔༵࣌ʹఆظ࣮ߦ
  18. ׬શࣗಈԽ͠ͳͯ͘΋ w CIҎ֎ νʔϜͷϫʔΫϑϩʔ Λߟྀ͢Ε͹Կͱ͔ͳͬͨ w ༵ۚਃ੥ɺ݄༵ϦϦʔεʜ
 ͩͬͨΒ౔༵ʹ࠷৽൛ͷdSYMΛΞοϓϩʔυ͢Ε͹͍͍ w ৄࡉ͸Qiitaʹ̈

    † https://qiita.com/gaussbeam/items/70091207b8f50d185598
  19. ·ͱΊ

  20. w CI/CD؀ڥͱώτ ମ੍ɾ෩౔ ͸྆ྠ w ͔ͤͬ͘࡞ͬͯ΋νʔϜʹ߹Θͳ͍ӡ༻ͷΒͳ͍͔΋ʜ w ؀ڥ͕Ͱ͖Δͱɺώτ͸ গ͠ มΘͬͨ

    w CI/CDվળʹணखޙɺશΞϓϦΤϯδχΞ͕CIΛ͍͡ΔΑ͏ʹͳͬͨ w ϫʔΫϑϩʔͷվળҊ΋ΑΓ۩ମతʹ e.g. ʮ͋ͷlaneʹ͜ͷઃఆΛ௥Ճ͢Ε͹ʜʯ 
 w ৘ใ͕ଟ͍͔Βͦ͜খ࢝͘͞ΊΔ w ཧ૝Λ௥͏ͱ΍Δ͜ͱ͍ͬͺ͍ w CIͰશ෦΍Βͳͯ͘΋Կͱ͔Ͱ͖Δ͜ͱ΋͋Δ $*$%؀ڥΛ෢ثͱͯ͠ɺ
 ෩౔΍ϫʔΫϑϩʔͦͷ΋ͷΛܧଓతʹվળ͍ͯ͘͠
  21. 3FGFSFODFT w ϥΠϒϥϦߋ৽νΣοΫࣗಈԽ ͳͲ৭ʑ  • Track Everything/kishikawa katsumi •

    https://speakerdeck.com/kishikawakatsumi/bitrisedezhui-ji-ke-neng-nisuru w dSYMߋ৽ࣗಈԽ w bitcodeΛ༗ޮʹͨ͠ΞϓϦͰ΋dSYMͷΞοϓϩʔυΛࣗಈԽ͢Δ/qmihara • https://speakerdeck.com/qmihara/bitcode-woyou-xiao-nisitaapuridemo-dsym-falseatupurodowozi-dong-hua-suru w ࠷৽όʔδϣϯͷdSYMΞοϓϩʔυΛ΄΅ࣗಈԽ͢Δ • https://qiita.com/gaussbeam/items/70091207b8f50d185598 w ͦͷଞ CIؔ࿈ͷখωλ  w ߋ৽͕͋ͬͨ৔߹ͷΈʹ࣮ߦ͞ΕΔlaneΛ࡞Δ • https://qiita.com/gaussbeam/items/c33ca26a4c56ce5f61ee