Slide 1

Slide 1 text

தن໛Ҏ্ͷ ΞϓϦ։ൃʹ͓͚Δ $*ϨγϐͱϦϦʔεϑϩʔઓུ ాଜ ݠհ !,B[B,BHP XJUI *(/*4 -5% JMMVTUFE CZ ஛ݪ %SPJE,BJHJ

Slide 2

Slide 2 text

ాଜ ݠհ !,B[B,BHP גࣜձࣾΠάχε ࿀ѪϚονϯάαʔϏε ʠXJUIʡ "OESPJE։ൃྺ͸೥͘Β͍ J04΋΍ͬͯ·͢ ࣗݾ঺հ

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

ͦ΋ͦ΋ʠதن໛Ҏ্ʡͬͯ Ͳ͔͜ΒΛࢦ͢ͷʁ લஔ͖

Slide 5

Slide 5 text

ΞϓϦׂͬͯͱҰਓͰ ࡞Δ͜ͱ΋ଟ͍ΑͶ લஔ͖

Slide 6

Slide 6 text

͜ͷ৔Ͱ͸ ෳ਺ਓʢਓҎ্ʣ։ൃΛ ࢦ͢͜ͱͱ͠·͢ લஔ͖

Slide 7

Slide 7 text

XJUIʹ͓͚Δݱঢ়ͱϚΠϧετʔϯ (JU'MPXΛ༻͍ͨΞϓϦ։ൃϑϩʔ $*πʔϧͱϒϥϯνӡ༻ͷ࿈ܞʹΑΔ࡞ۀࣗಈԽ (PPHMF 1MBZ %FWFMPQFS "1*Λ׆༻ͨ҆͠ఆతͳϦϦʔεख๏ ໨࣍ ໨࣍

Slide 8

Slide 8 text

ϚΠϧετʔϯ XJUIʹ͓͚Δݱঢ়ͱ

Slide 9

Slide 9 text

ʙ ϚΠϧετʔϯ XJUIʹ͓͚Δݱঢ়ͱ ฐࣾ"OESPJEνʔϜʹ͓͚Δݱঢ়

Slide 10

Slide 10 text

ʙ ϚΠϧετʔϯ XJUIʹ͓͚Δݱঢ়ͱ ฐࣾ"OESPJEνʔϜʹ͓͚Δݱঢ়

Slide 11

Slide 11 text

ʙ ϚΠϧετʔϯ XJUIʹ͓͚Δݱঢ়ͱ ฐࣾ"OESPJEνʔϜʹ͓͚Δݱঢ়

Slide 12

Slide 12 text

ʙ ฐࣾ"OESPJEνʔϜʹ͓͚Δݱঢ় ϚΠϧετʔϯ XJUIʹ͓͚Δݱঢ়ͱ

Slide 13

Slide 13 text

ϦϦʔε͸िؒʹҰ౓ 2"ʹΑΔ֬ೝ͸ϦϦʔεʹ͖ͭฏۉ೔ ਺ϲ݄ʹҰ౓େن໛ϦϦʔε͕͋Δ ϦϦʔε͸ि໌͚ʹߦ͏ ϚΠϧετʔϯ XJUIʹ͓͚Δݱঢ়ͱ ฐࣾ"OESPJEνʔϜʹ͓͚Δݱঢ়

Slide 14

Slide 14 text

ฐࣾ"OESPJEνʔϜʹ͓͚ΔϚΠϧετʔϯ ೔ ݄ Ր ਫ ໦ ۚ ౔ ։ൃ ೔ ݄ Ր ਫ ໦ ۚ ౔ ։ൃ ։ൃऀνΣοΫ 2"νΣοΫ ೔ ݄ ϦϦʔε ϚΠϧετʔϯ XJUIʹ͓͚Δݱঢ়ͱ ि໨ ि໨ ि໨

Slide 15

Slide 15 text

ӡ༻͕ଐਓԽ͍ͯ͠Δͱ ਓͷೖΕସΘΓͷͨͼʹ ίετ͕͔͔Δ ϚΠϧετʔϯ XJUIʹ͓͚Δݱঢ়ͱ

Slide 16

Slide 16 text

҆ఆͯ͠ܧଓతʹ ϦϦʔεͰ͖Δ ։ൃϑϩʔ͕ٻΊΒΕΔ ϚΠϧετʔϯ XJUIʹ͓͚Δݱঢ়ͱ

Slide 17

Slide 17 text

ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ

Slide 18

Slide 18 text

ෳ਺ਓͰ։ൃΛߦ͏ͱ ϒϥϯνӡ༻ʹ ͍Ζ͍ΖͭΒΈ͕ग़ͯ͘Δ ϚΠϧετʔϯ XJUIʹ͓͚Δݱঢ়ͱ

Slide 19

Slide 19 text

ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ ࣍ͷόʔδϣϯʹ ͲͷϒϥϯνΛ ೖΕΔΜ͚ͩͬʁ ͜ͳ͍ͩϦϦʔεͨ࣌͠ͷ ίϛοτ͕ߦํෆ໌ ࣗ෼ͷ࡞ۀϒϥϯνʹ ΄͔ͷਓͷͲͷରԠ͕ ؚ·ΕͯΔ͔Θ͔Βͳ͍ ʮϦϦʔε͢Δ·Ͱ Ϛʔδ଴ͬͯͯʂʯ ظ͕ؒසൟʹ͋Δ

Slide 20

Slide 20 text

΋͏ͩΊͩ ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ

Slide 21

Slide 21 text

(JU'MPXΛ ಋೖͯ͠Έͳ͍ʁ (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 22

Slide 22 text

(JU'MPXͱ͸ʁ ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ

Slide 23

Slide 23 text

HJUGMPX͸HJUͷ֦ுͰ͋Γɺ 7JODFOU %SJFTTFOͷ ఏএ͢ΔϒϥϯνϞσϧΛ࣮ݱ͢ΔͨΊͷ ߴ౓ͳϦϙδτϦૢ࡞Λఏڙ͠·͢ɻ HJUGMPX DIFBUTIFFU IUUQTEBOJFMLVNNFSHJUIVCJPHJUGMPXDIFBUTIFFU ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ

Slide 24

Slide 24 text

ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ ͦͷఏএ͞ΕͯΔ ϒϥϯνϞσϧͬͯ ҰମͳΜͳͷʁ

Slide 25

Slide 25 text

.BTUFS %FWFMPQ )PUGJY 3FMFBTF 'FBUVSF <- ۓٸόάରԠ༻ϒϥϯν <- ϦϦʔε४උ༻ϒϥϯν <- ϦϦʔεͨ͠΋ͷ͕ฒͿϒϥϯν <- ։ൃ༻ϝΠϯϒϥϯν <- ୯Ұͷػೳ։ൃ༻ϒϥϯν ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ

Slide 26

Slide 26 text

ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ .BTUFS %FWFMPQ )PUGJY 3FMFBTF 'FBUVSF

Slide 27

Slide 27 text

GFBUVSFGVOD GFBUVSFGVOD ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ .BTUFS %FWFMPQ )PUGJY 3FMFBTF 'FBUVSF

Slide 28

Slide 28 text

SFMFBTF ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ .BTUFS %FWFMPQ )PUGJY 3FMFBTF 'FBUVSF

Slide 29

Slide 29 text

ฐࣾ"OESPJEνʔϜʹ͓͚ΔϚΠϧετʔϯ ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ ೔ ݄ Ր ਫ ໦ ۚ ౔ ։ൃ ೔ ݄ Ր ਫ ໦ ۚ ౔ ։ൃ ։ൃऀνΣοΫ 2"νΣοΫ ೔ ݄ ϦϦʔε ͜ͷλΠϛϯάͰ
 SFMFBTFϒϥϯν࡞੒ ि໨ ि໨ ि໨

Slide 30

Slide 30 text

GFBUVSFGVOD@GPS@ UBH
 SFMFBTF ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ ͰϦϦʔε͢Δ಺༰͸
 SFMFBTFϒϥϯνʹִ཭͞Ε͍ͯΔͷͰ
 ͜ͷ࣌఺Ͱͷ։ൃʹணखͰ͖Δ .BTUFS %FWFMPQ )PUGJY 3FMFBTF 'FBUVSF

Slide 31

Slide 31 text

ϦϦʔεͨͧ͠ʔʂʂ ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ

Slide 32

Slide 32 text

ϦϦʔεͨ͠ޙʹ όά͕ݟ͔ͭͬͨΜ͚ͩͲʜ ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ

Slide 33

Slide 33 text

UBH
 NBTUFS͔Β৳͹͢ ͷ͕ϙΠϯτʂ IPUGJY ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ .BTUFS %FWFMPQ )PUGJY 3FMFBTF 'FBUVSF

Slide 34

Slide 34 text

νʔϜϝϯόʔશһͰ పఈ͢Δͷେมͦ͏ͩ͠ ΋ͬͱ؆୯ʹͰ͖ͳ͍ͷʁ ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ

Slide 35

Slide 35 text

(JU'MPX $PNNBOE ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ

Slide 36

Slide 36 text

(JU'MPX DPNNBOE • Mac (Homebrew) $ brew install git-flow • Linux (apt-get) $ apt-get install git-flow • Windows $ ͜͜ʹه͢ʹ͸༨ന͕ڱ͗͢Δ ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ

Slide 37

Slide 37 text

(JU'MPX DPNNBOE $ git flow init $ git flow feature start $ git flow feature finish $ git flow feature publish ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ

Slide 38

Slide 38 text

(JU'MPX PO ʮπʔϧόʔΛΧελϚΠζʯ ͔ΒϘλϯΛදࣔ͢Δ͔ ʮϝχϡʔʯ͔Βૢ࡞Ͱ͖ΔΑ ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ

Slide 39

Slide 39 text

(JU'MPX 5JQT ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ

Slide 40

Slide 40 text

'FBUVSFϒϥϯν͕
 ڊେʹͳͬͪΌ͔ͬͨΒ
 1VMM3FRVFTUΛ۠੾Γ͍ͨΜ͚ͩͲʜ ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ

Slide 41

Slide 41 text

GFBUVSFGVOD@CBTF GFBUVSFGVOD@ GFBUVSFGVOD@ GFBUVSFGVOD@ GFBUVSF༻ͷϕʔεϒϥϯν
 Λ༻ҙͯ͜͠·Ίʹ13Λग़͢ ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ %FWFMPQ 'FBUVSF

Slide 42

Slide 42 text

GFBUVSFGVOD@CBTF GFBUVSFGVOD@ GFBUVSFGVOD@ GFBUVSFGVOD@ ϨϏϡʔ͕௥͍͔ͭͳ͍৔߹͸ ͜Μͳܗ΋͋Γ ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ %FWFMPQ 'FBUVSF

Slide 43

Slide 43 text

(JU'MPXʹఆٛ͞Εͯͳ͍͜ͱͰ΋
 ӡ༻ʹ߹ΘͤͯΞϨϯδ͢Δ͜ͱͰ ࣮༻ੑ͕૿͠·͢ ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ

Slide 44

Slide 44 text

ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ

Slide 45

Slide 45 text

࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 46

Slide 46 text

࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ νʔϜن໛ͷ֦େʹ൐ͬͯ ૿͑ͯ͘Δͷ͕

Slide 47

Slide 47 text

ϒϥϯν਺΍ίϛοτ਺ɺ ͦͯ͠σϓϩΠճ਺ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 48

Slide 48 text

ਓ͕ؒ΍Δඞཁͷͳ͍ ࣗಈԽग़དྷΔ࡞ۀ͸ $*πʔϧʹ೚ͤΑ͏ʂ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 49

Slide 49 text

$*πʔϧͬͯ 5SBWJT$*ͱ͔$JSDMF$*ͱ͔ +FOLJOTͱ͔#JUSJTFͱ͔ ͨ͘͞Μ͋Δ͚Ͳ ͲΕΛ࢖͑͹͍͍ͷʁ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 50

Slide 50 text

ಈ͚͹ͳΜͰ΋͍͍Ͱ͢ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 51

Slide 51 text

͜͜Ͱ͸࠷ۙྲྀߦΓͷ Λ࢖ͬͯΈ·͢ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 52

Slide 52 text

#JUSJTFͷʢݸਓతʹࢥ͏ʣϝϦοτ (6*Ͱࢹ֮తʹ૊ΊΔͨΊෑډ͕௿͍ʢ$6*Ͱ΋૊ΊΔʣ :".-ϑΝΠϧΛϦϙδτϦʹؚΊΔඞཁ͕ͳ͘ൿಗ৘ใΛ আ֎ͤ͞΍͍͢ʢؚΊΔΑ͏ʹ΋Ͱ͖Δʣ ΞϓϦʹಛԽ͓ͯ͠Γɺূ໌ॻपΓͷαϙʔτ͕͋Δ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 53

Slide 53 text

(6*Ͱࢹ֮తʹ૊ΊΔʢ$6*Ͱ΋૊ΊΔʣ ΤσΟλ͕ ྑ͘ग़དྷ͍ͯͯ࣍ʹԿΛ ͢Δͷ͔͕௚ײతʹΘ͔Δ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 54

Slide 54 text

(6*Ͱࢹ֮తʹ૊ΊΔʢ$6*Ͱ΋૊ΊΔʣ $*πʔϧͷ ϝϯςφϯεଐਓԽɾ৬ਓԽ Λܰݮग़དྷΔ ʂʁ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 55

Slide 55 text

:".-ϑΝΠϧΛϦϙδτϦʹؚΊΔඞཁ͕ͳ͍ :".-ϑΝΠϧΛ#JUSJTFଆͰ࣋ͪɺ
 ൿಗ৘ใΛѻ͏ઐ༻ྖҬ΋͋ΔͨΊ ϦϙδτϦ͔Βػີ৘ใΛআ֎ͤ͞΍͍͢ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 56

Slide 56 text

ΞϓϦʹಛԽ͓ͯ͠Γɺূ໌ॻपΓͷαϙʔτ͕͋Δ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 57

Slide 57 text

͜͜·Ͱ ਪ͠Ͱ͕͢ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 58

Slide 58 text

࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ ಈ͚͹ͳΜͰ΋͍͍Ͱ͢

Slide 59

Slide 59 text

$*πʔϧͱ(JU'MPXͱͷ࿈ܞ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 60

Slide 60 text

࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ ຊ൪؀ڥ εςʔδϯά؀ڥ withͷProductFlaverύλʔϯ

Slide 61

Slide 61 text

(JU'MPXͱטΈ߹͏Α͏ʹ ϫʔΫϑϩʔΛ࡞ͬͯΈ·͢ʂ ͜͜Ͱ͸εςʔδϯά؀ڥϏϧυͱ ຊ൪؀ڥϏϧυ͕͋Δલఏͱ͠·͢ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ .BTUFS %FWFMPQ )PUGJY 3FMFBTF 'FBUVSF

Slide 62

Slide 62 text

GFBUVSFGVOD 1VMM3FRVFTUΛ ࡞ͬͨͱ͖ʹ5FTUΛ૸ΒͤΔΑ͏ʹ ϫʔΫϑϩʔΛ૊Έ·͢ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ .BTUFS %FWFMPQ )PUGJY 3FMFBTF 'FBUVSF

Slide 63

Slide 63 text

Activate SSH Key Git Clone Repository Install missing Android SDK components Android Unit Test Danger 6OJU 5FTU ϑϩʔ τϦΨʔ 16-- 3&26&45 4PVSDF CSBODI 5BSHFU CSBODI ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ #JUSJTFͰ͸Ұ࿈ͷॲཧΛ ·ͱΊͨ΋ͷΛʮϫʔΫϑϩʔʯ ͱݺͼ·͢

Slide 64

Slide 64 text

GFBUVSFGVOD %FWFMPQʹ1VTIͨ͠ͱ͖͸ ػೳ࣮૷ͷ۠੾ΓͳͷͰ εςʔδϯά༻"1,ΛσϓϩΠΛ͠·͢ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ .BTUFS %FWFMPQ )PUGJY 3FMFBTF 'FBUVSF

Slide 65

Slide 65 text

Activate SSH Key Git Clone Repository Install missing Android SDK components Android Build APK Info Sign APK DeployGate Upload Send a Slack *OUFSOBM %FQMPZ ϑϩʔ τϦΨʔ 164) #SBODI EFWFMPQ SFMFBTF IPUGJY ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 66

Slide 66 text

GFBUVSFGVOD ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ .BTUFS %FWFMPQ )PUGJY 3FMFBTF 'FBUVSF

Slide 67

Slide 67 text

SFMFBTF ϦϦʔε४උʹೖΔͨΊ όάमਖ਼౳ͷίϛοτ͕͋Γ࣍ୈ εςʔδϯά༻ͱຊ൪༻ͲͪΒ΋ σϓϩΠΛߦ͍ݕূ͠·͢ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ .BTUFS %FWFMPQ )PUGJY 3FMFBTF 'FBUVSF

Slide 68

Slide 68 text

UBH
 SFMFBTF UBH͕͚ͭΒΕͨ͜ͱΛτϦΨʔʹ 1MBZ4UPSF΁ຊ൪༻"1,ͷΞοϓϩʔυΛ ߦ͍·͢ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ .BTUFS %FWFMPQ )PUGJY 3FMFBTF 'FBUVSF

Slide 69

Slide 69 text

Activate SSH Key Git Clone Repository Install missing Android SDK components Android Build APK Info Sign APK Google Play Deploy Send a Slack 4UPSF VQMPBE ϑϩʔ τϦΨʔ 5"( 5BH OBNF ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 70

Slide 70 text

UBH
 SFMFBTF ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ .BTUFS %FWFMPQ )PUGJY 3FMFBTF 'FBUVSF

Slide 71

Slide 71 text

UBH
 IPUGJY ۓٸ౓ͷߴ͍ରԠதͳͷͰ 3FMFBTFϒϥϯνͱಉ༷ʹίϛοτ࣌ʹ εςʔδϯά༻ͱຊ൪༻ͲͪΒ΋ σϓϩΠΛߦ͍ݕূ͠·͢ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ .BTUFS %FWFMPQ )PUGJY 3FMFBTF 'FBUVSF

Slide 72

Slide 72 text

͝঺հͨ͠ͷ͸͋͘·Ͱ
 ฐࣾͷνʔϜͰͷద༻ྫͳͷͰɺ νʔϜʹ߹Θͤͯ࠷దͳϑϩʔΛ
 ݟ͚͍ͭͯͩ͘͞ʂ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 73

Slide 73 text

$* 5JQT ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 74

Slide 74 text

GFBUVSFGVOD@CBTF GFBUVSFGVOD@ GFBUVSFGVOD@ GFBUVSFGVOD@ ن໛ͷେ͖͍GFBUVSFͷ৔߹
 ϕʔεGFBUVSFϒϥϯν໊ʹϧʔϧΛઃ͚ͯ
 ͦ͜ʹରͯ͠$*Λ૊Ήͷ͕ΦεεϝͰ͢
 ʮτϦΨʔྫɿGFBUVSF@CBTFʯ ΞϓϦ։ൃϑϩʔ (JU'MPXΛ༻͍ͨ %FWFMPQ 'FBUVSF

Slide 75

Slide 75 text

ॊೈͳϫʔΫϑϩʔΛ૊Ή ϫʔΫϑϩʔͷ࠶ར༻ՄೳΛҙࣝ͢Δ ճಉ͜͡ͱΛॻ͔ͳ͍ ϓϩδΣΫτʹґଘ͢Δ৘ใ͸ม਺Խͯ͠੾Γग़͢ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 76

Slide 76 text

Activate SSH Key Git Clone Repository Install missing Android SDK components Android Build APK Info Sign APK DeployGate Upload Send a Slack TFUVQ CVJME EFQMPZ OPUJGZ ϫʔΫϑϩʔΛখ෼͚ʹ͢Δ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 77

Slide 77 text

ͪͳΈʹ#JUSJTFͰ͸ ϫʔΫϑϩʔ໊ͷઌ಄ʹΞϯμʔόʔΛ͚ͭΔ͜ͱͰ
 ୯ମͰ͸࣮ߦͰ͖ͳ͍ʮϢʔςΟϦςΟʔϑϩʔʯ
 ͱͯ͠ఆٛ͢Δ͜ͱ͕ՄೳͰ͢ @CVJMEͱ͍͏໊લʹ͓ͯ͘͜͠ͱͰ ૊Έ߹Θͤͯ࢖͏͜ͱΛ໌ࣔͰ͖·͢ʂ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 78

Slide 78 text

Android Build APK Info Sign APK CVJME • ModuleName • ex) app • VariantName • ex) stagingRelease ϓϩδΣΫτ͝ͱʹมΘΔ৘ใ ؀ڥม਺ͱͯ͠ఆٛ͢Δ ˣ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 79

Slide 79 text

͜ΕΒΛҙ͓ࣝͯ͘͠ͱ ৽͍͠ϫʔΫϑϩʔͷ࡞੒΍ ผϓϩδΣΫτ΁ͷద༻ͳͲ͕ ॊೈʹߦͳ͑·͢ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 80

Slide 80 text

͜͜·Ͱͷ಺༰Λԡ͑ͨ͞#JUSJTF༻ͷ
 ZBNMϑΝΠϧΛ(JTUʹΞοϓͯ͋͠ΔͷͰɺ
 Α͚Ε͹͓࢖͍͍ͩ͘͞ IUUQTHJTUHJUIVCDPN,B[B,BHPEGFFBFDEEB CJUSJTFͷZBNMλϒʹίϐϖͯ͠
 ϓϩδΣΫτʹ߹Θͤͯ؀ڥม਺ &OW 7FST 4FDSFUT Λ
 ηοτ͢Ε͹࢖͑·͢ ࿈ܞʹΑΔ࡞ۀࣗಈԽ $*πʔϧͱϒϥϯνӡ༻ͷ

Slide 81

Slide 81 text

׆༻ͨ҆͠ఆతͳϦϦʔεख๏ (PPHMF 1MBZ %FWFMPQFS "1*Λ

Slide 82

Slide 82 text

(PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏ (PPHMF1MBZ4UPSFͰͷ
 ϦϦʔεࢧԉػೳͷҰͭ ʮஈ֊తͳެ։ʯ

Slide 83

Slide 83 text

ετΞͰͷஈ֊తެ։ͷྫ ೔໨ ೔໨ ೔໨ ೔໨ (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 84

Slide 84 text

"QQ4UPSF
 J04 (PPHMF1MBZ
 "OESPJE ެ։ׂ߹ ݻఆׂ߹ ୯ҐͰࢦఆՄೳ શެ։·Ͱͷ೔਺ ೔ݻఆ
 ్தͰશެ։΁੾Γସ͑Մೳ ʹͨ࣌͠ ߋ৽ํ๏ ࣗಈͷΈ
 ೔͝ͱʹ֦େ खಈͷΈ
 ೚ҙͷλΠϛϯά (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 85

Slide 85 text

(PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏ "QQ4UPSF
 J04 (PPHMF1MBZ
 "OESPJE ެ։ׂ߹ ݻఆׂ߹ ୯ҐͰࢦఆՄೳ શެ։·Ͱͷ೔਺ ೔ݻఆ
 ్தͰશެ։΁੾Γସ͑Մೳ ʹͨ࣌͠ ߋ৽ํ๏ ࣗಈͷΈ
 ೔͝ͱʹ֦େ खಈͷΈ
 ೚ҙͷλΠϛϯά

Slide 86

Slide 86 text

ϦϦʔεස౓͕ߴ͍ͱɺ
 (PPHMF1MBZ͸खಈͰ͔͠
 ߋ৽Ͱ͖ͳ͍ͷ͕ਏ͍ʜ (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 87

Slide 87 text

ͦΕɺ
 (PPHMF 1MBZ %FWFMPQFS "1*
 ͰղܾͰ͖ΔΑ (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 88

Slide 88 text

(PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 89

Slide 89 text

ஈ֊తެ։ΛࣗಈԽ͢Δ (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 90

Slide 90 text

΍Γ͍ͨ͜ͱ ຖ೔ʓʓ࣌ʹࣗಈతʹެ։ൺ཰ΛҾ্͖͛Δ Ҿ্͖͛Δެ։ൺ཰ΛઃఆͰ͖Δ Ҿ্͖͕͛ߦΘΕͨΒ4MBDLͰ௨஌͢Δ (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 91

Slide 91 text

(PPHMF 1MBZ %FWFMPQFS "1*Ͱग़དྷΔ͜ͱ ৽όʔδϣϯͷΞϓϦͷΞοϓϩʔυͱϦϦʔε ϩʔΧϥΠζͨ͠ςΩετ΍άϥϑΟοΫΛؚΉɺ (PPHMF 1MBZ ετΞͷϦετฤू ΞϓϦ಺ΞΠςϜͷΧλϩάɺ঎඼ͷߪೖঢ়گɺ ΞϓϦͷఆظߪೖͷ؅ཧ (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 92

Slide 92 text

(PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏ { "track": string, "releases": [ { "name": string, "versionCodes": [ long ], "userFraction": double, "releaseNotes": [ { "language": string, "text": string } ], "status": string } ] } ϦϦʔε৘ใͷ
 ϨεϙϯεܗࣜͰ͢ +BWBͱ1ZUIPOʹؔͯ͠͸ ϥΠϒϥϦ΋༻ҙ͞Ε͍ͯ·͢

Slide 93

Slide 93 text

(PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏ { "track": string, "releases": [ { "name": string, "versionCodes": [ long ], "userFraction": double, "releaseNotes": [ { "language": string, "text": string } ], "status": string } ] } 7FSTJPO/BNF FY 7FSTJPO$PEF FY ഑৴ൺ཰ GSBDUJPO ˞JO1SPHSFTT IBMUFEҎ֎ͷ৔߹͸ฦ͞Ε·ͤΜ ഑৴ઌτϥοΫ໊ ഑৴εςʔλε

Slide 94

Slide 94 text

(PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏ { "track": string, "releases": [ { "name": string, "versionCodes": [ long ], "userFraction": double, "releaseNotes": [ { "language": string, "text": string } ], "status": string } ] } • completed • draft • halted • inProgress ͷ͍ͣΕ͔ • alpha • beta • production • rollout • internal ͷ͍ͣΕ͔ ഑৴ઌτϥοΫ໊ ഑৴εςʔλε

Slide 95

Slide 95 text

͜ΕΛ۩ମతͳॲཧʹ
 མͱ͠ࠐΉͱʜ (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 96

Slide 96 text

(PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏ { "track": string, "releases": [ { "name": string, "versionCodes": [ long ], "userFraction": double, "releaseNotes": [ { "language": string, "text": string } ], "status": string } ] } ಛఆͷ೔࣌ʹ഑৴ઌτϥοΫ͕
 ʮQSPEVDUJPOʯ͔ͭ഑৴εςʔλε͕
 ʮJO1SPHSFTTʯͷ৔߹ʹ
 ࣄલʹఆٛͨ͠഑৴ൺ཰΁มߋ͢Δ
 
 ·ͨɺ࣍ʹมߋ͢Δ഑৴ൺ཰͕
 ͷ৔߹͸഑৴εςʔλεΛ ʮDPNQMFUFEʯ΁มߋ͢Δ

Slide 97

Slide 97 text

ࣾ಺ͷۭ͍ͯΔ1$ʹ
 αʔόʔΛཱͯͯղܾͯ͠ΈΑ͏ʂ (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 98

Slide 98 text

ͱ͍͏Θ͚Ͱ
 αʔόʔΛ࡞ͬͯΈͨ (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 99

Slide 99 text

,B[B,BHP 4UFQ3FMFBTF%JTQBUDIFS IUUQTHJUIVCDPN,B[B,BHP4UFQ3FMFBTF%JTQBUDIFS (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 100

Slide 100 text

ࠓճ͸͔ͤͬ͘ͳͷͰ (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 101

Slide 101 text

Ͱॻ͍ͯ·͢ ϑϧ,PUMJOͷαʔόʔαΠυϑϨʔϜϫʔΫ (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 102

Slide 102 text

Ͱ͖Δ͜ͱ ϓϩδΣΫτ͝ͱͷઃఆΛ8FC6*͔Βߦ͑Δ ൺ཰Ҿ্͖͛࣌ࠁΛ$SPOελΠϧͰࢦఆ Ҿ্͖͛ஈ֊Λ_ͰΧϯϚ۠੾ΓͰࢦఆ
 ʢશެ։·Ͱͷ೔਺ʣ Ҿ্͖͛લޙͷ৘ใΛ4MBDL΁௨஌ (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 103

Slide 103 text

(PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏ ͜Μͳ௨஌͕དྷΔΑ͏ʹͯ͠Έ·ͨ͠

Slide 104

Slide 104 text

(PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏ ࣮ߦʹඞཁͳ΋ͷ • PlayConsole͔Βൃߦͨ͠αʔϏεΞΧ΢ϯτΩʔ
 (p12ϑΝΠϧ) • ΞϓϦͷύοέʔδ໊ ඞཁʹԠͯ͡ • SlackͷWebhook URL

Slide 105

Slide 105 text

͜ΕͰ
 ϦϦʔεޙʹʹͳΔ·Ͱ
 खಈߋ৽͢Δ೔ʑ͔Β
 ղ์͞Εͨͧʂ (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 106

Slide 106 text

ΤϥʔνΣοΫपΓͱ͔
 ͔ͳΓ؁͘ߥ࡟Γͳ෦෼΋ଟ͍ͷͰ
 ͦ͜͸͝༰ࣻΛʜʂ (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 107

Slide 107 text

͓·͚ (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 108

Slide 108 text

͜͜·Ͱ͖ͨΒ
 $SBTIMZUJDT΋࿈ܞͤͯ͞ ࣗಈతʹެ։ൣғΛ޿͛Δ͔ ൑அͰ͖ͳ͍ͷʁ (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 109

Slide 109 text

ग़དྷͳ͘͸ͳͦ͞͏͚ͩͲ ͘͢͝ख͕͔͔ؒΓͦ͏ʜ (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 110

Slide 110 text

$SBTIMZUJDT "1* $SBTIMZUJDT "1*͔ΒΫϥογϡ৘ใΛ औಘ͢Δ͜ͱࣗମ͸ग़དྷ·͕͢ɺ ΫϥογϡΠϕϯτ͕ൃੜͨ͠λΠϛϯάͷΈͰ͔͠औಘͰ͖ ͳ͍ͨΊࣗલͰσʔλΛ஝ੵͯ͠ղੳ͢Δඞཁ͕͋Γ·͢ (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏ IUUQTGJSFCBTFHPPHMFDPNEPDTDSBTIMZUJDTFYUFOEXJUIDMPVEGVODUJPOT ެࣜυΩϡϝϯτ

Slide 111

Slide 111 text

ߏஙɾ࣮૷ίετΛؑΈͯ $SBTIMZUJDTͷνΣοΫʹ͍ͭͯ͸ ݱঢ়໨ࢹͰߦ͍ͬͯ·͢ (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 112

Slide 112 text

ྑ͍Ҋ͋Ε͹ ͥͻڭ͑ͯԼ͍͞ʂ (PPHMF 1MBZ %FWFMPQFS "1*Λ ͨ҆͠ఆతͳϦϦʔεख๏

Slide 113

Slide 113 text

·ͱΊ

Slide 114

Slide 114 text

$PODMVTJPO (JU'MPXΛ࣠ʹ؀ڥ੔උΛ͢Δ͜ͱͰ (JU'MPXͷखॱʹԊͬͯϝϯόʔ͕։ൃΛਐΊΕ͹ ϒϥϯνӡ༻͔ΒςετɺσϓϩΠɺϦϦʔε·Ͱ ࣗಈతͰ҆શ͔ͭ҆ఆతʹߦ͑ɺ ։ൃʹूதͰ͖Δ࣌ؒΛ૿΍͢͜ͱ͕ग़དྷΔʂ

Slide 115

Slide 115 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ