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

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

gaussbeam
February 21, 2019

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

2019.02.21 CI/CD Test Night #3 @ DeNA

gaussbeam

February 21, 2019
Tweet

More Decks by gaussbeam

Other Decks in Programming

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  5. σΠϦʔϏϧυ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  10. νʔϜͷঢ়ଶʹ߹Θͤͯௐ੔
    w σΠϦʔϏϧυ͸ܧଓ
    w ʮ$*ͰϏϧυͰ͖ͳ͍ʂʯ͸͙͢ʹݕ஌Ͱ͖Δ
    w ഑෍ઌ͸։ൃऀͷΈʹมߋ
    w ඞཁʹԠͯ͡౎౓ςελΛ௥Ճ
    w ݱঢ়ͷνʔϜମ੍ʹ͸ͪ͜Βͷํ͕ϑΟοτ
    w ഑෍ࡁΈͷϏϧυʹট଴͢Δ͚ͩͳͷͰɺ౎౓Ϗϧυ͢ΔΑΓ͸Ϛγ
    w ʮຖ೔ೖΕͯ౰વʯͳ෩౔Λ࡞͍ͬͯ͘
    w 2"ମ੍ͷ֦ॆ౳ͱ߹Θͤͯ

    View Slide

  11. ϥΠϒϥϦߋ৽νΣοΫ
    Thanks to CI/CD Test Night !!

    View Slide

  12. w ֓ཁʹ͸ߋ৽ର৅ͷҰཡ
    w ि࣍ͰνΣοΫʴࣗಈϓϧϦΫ
    w $BSUIBHF$PDPBQPET
    w $BSUIBHFͷϏϧυ͸͠ͳ͍

    Ωϟογϡ੍ޚͰͭ·͍ͮͨ

    w ͦͷଞͷ࡞ۀ͸νΣοΫϦετ

    View Slide

  13. # $
    w উखʹνΣοΫͯ͘͠Εָͯ
    w ݟΔDiff͕খ͘͞ͳͬͨ

    w ࡞ۀ͕໌֬ʹͳͬͨ
    w ຖि΍Δʹ͸͚ͬ͜͏ͭΒ͍
    w ߋ৽ྔʹΑΒͣҰఆͷΦʔόʔϔου
    w $BSUIBHFϏϧυলུ͸΍ͬͺΓͭΒ͍
    w ୯ಠͰϦϦʔε͍͕ͨ͠ɺϦδΣΫτ
    ͞ΕΔͱશମͷܭըʹӨڹ

    View Slide

  14. ཧ૝Λ௥͏ͱɺ΍Δ͜ͱ͍ͬͺ͍
    w νΣοΫִؒ͸ʁ
    w ର৅͸$BSUIBHFʁ$PDPBQPETʁ྆ํʁ
    w Ϗϧυ͢Δʁ
    w 1VMM3FRVFTU͸Ͳ͏͢Δʁ
    w ֓ཁ͸Ͳ͜·Ͱॻ͘ʁ
    w ϒϥϯνӡ༻͸ʁϚʔδϦϦʔεܭը͸ʁ
    w ख࢝Ί͸ߋ৽ͷ༗ແΛ4MBDL௨஌͢Δ͚ͩͰ΋͍͍͔΋"

    View Slide

  15. E4:.ΞοϓϩʔυࣗಈԽ
    Thanks to CI/CD Test Night !!

    View Slide

  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

    View Slide

  17. BEFORE AFTER
    JQBΞοϓϩʔυ
    ετΞਃ੥
    dSYMμ΢ϯϩʔυ

    (from App Store Connect)
    dSYMΞοϓϩʔυ

    (to Crashlytics)
    JQBΞοϓϩʔυ
    ετΞਃ੥
    dSYM

    μ΢ϯϩʔυΞοϓϩʔυ
    ຖि༵ۚʹਃ੥
    ຖि౔༵࣌ʹఆظ࣮ߦ

    View Slide

  18. ׬શࣗಈԽ͠ͳͯ͘΋
    w CIҎ֎ νʔϜͷϫʔΫϑϩʔ
    Λߟྀ͢Ε͹Կͱ͔ͳͬͨ
    w ༵ۚਃ੥ɺ݄༵ϦϦʔεʜ

    ͩͬͨΒ౔༵ʹ࠷৽൛ͷdSYMΛΞοϓϩʔυ͢Ε͹͍͍
    w ৄࡉ͸Qiitaʹ̈
    † https://qiita.com/gaussbeam/items/70091207b8f50d185598

    View Slide

  19. ·ͱΊ

    View Slide

  20. w CI/CD؀ڥͱώτ ମ੍ɾ෩౔
    ͸྆ྠ
    w ͔ͤͬ͘࡞ͬͯ΋νʔϜʹ߹Θͳ͍ӡ༻ͷΒͳ͍͔΋ʜ
    w ؀ڥ͕Ͱ͖Δͱɺώτ͸ গ͠
    มΘͬͨ
    w CI/CDվળʹணखޙɺશΞϓϦΤϯδχΞ͕CIΛ͍͡ΔΑ͏ʹͳͬͨ
    w ϫʔΫϑϩʔͷվળҊ΋ΑΓ۩ମతʹ e.g. ʮ͋ͷlaneʹ͜ͷઃఆΛ௥Ճ͢Ε͹ʜʯ

    w ৘ใ͕ଟ͍͔Βͦ͜খ࢝͘͞ΊΔ
    w ཧ૝Λ௥͏ͱ΍Δ͜ͱ͍ͬͺ͍
    w CIͰશ෦΍Βͳͯ͘΋Կͱ͔Ͱ͖Δ͜ͱ΋͋Δ
    $*$%؀ڥΛ෢ثͱͯ͠ɺ

    ෩౔΍ϫʔΫϑϩʔͦͷ΋ͷΛܧଓతʹվળ͍ͯ͘͠

    View Slide

  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

    View Slide