Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

σΠϦʔϏϧυ

Slide 6

Slide 6 text

$*$%ͷୈҰาʂ !

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

BEFORE AFTER JQBΞοϓϩʔυ ετΞਃ੥ dSYMμ΢ϯϩʔυ
 (from App Store Connect) dSYMΞοϓϩʔυ
 (to Crashlytics) JQBΞοϓϩʔυ ετΞਃ੥ dSYM
 μ΢ϯϩʔυΞοϓϩʔυ ຖि༵ۚʹਃ੥ ຖि౔༵࣌ʹఆظ࣮ߦ

Slide 18

Slide 18 text

׬શࣗಈԽ͠ͳͯ͘΋ w CIҎ֎ νʔϜͷϫʔΫϑϩʔ Λߟྀ͢Ε͹Կͱ͔ͳͬͨ w ༵ۚਃ੥ɺ݄༵ϦϦʔεʜ
 ͩͬͨΒ౔༵ʹ࠷৽൛ͷdSYMΛΞοϓϩʔυ͢Ε͹͍͍ w ৄࡉ͸Qiitaʹ̈ † https://qiita.com/gaussbeam/items/70091207b8f50d185598

Slide 19

Slide 19 text

·ͱΊ

Slide 20

Slide 20 text

w CI/CD؀ڥͱώτ ମ੍ɾ෩౔ ͸྆ྠ w ͔ͤͬ͘࡞ͬͯ΋νʔϜʹ߹Θͳ͍ӡ༻ͷΒͳ͍͔΋ʜ w ؀ڥ͕Ͱ͖Δͱɺώτ͸ গ͠ มΘͬͨ w CI/CDվળʹணखޙɺશΞϓϦΤϯδχΞ͕CIΛ͍͡ΔΑ͏ʹͳͬͨ w ϫʔΫϑϩʔͷվળҊ΋ΑΓ۩ମతʹ e.g. ʮ͋ͷlaneʹ͜ͷઃఆΛ௥Ճ͢Ε͹ʜʯ 
 w ৘ใ͕ଟ͍͔Βͦ͜খ࢝͘͞ΊΔ w ཧ૝Λ௥͏ͱ΍Δ͜ͱ͍ͬͺ͍ w CIͰશ෦΍Βͳͯ͘΋Կͱ͔Ͱ͖Δ͜ͱ΋͋Δ $*$%؀ڥΛ෢ثͱͯ͠ɺ
 ෩౔΍ϫʔΫϑϩʔͦͷ΋ͷΛܧଓతʹվળ͍ͯ͘͠

Slide 21

Slide 21 text

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