Slide 1

Slide 1 text

ੵۃతͳιϑτ΢ΣΞߏ੒؅ཧ
 ͷ׆༻ํ๏ ௕୔ஐ࣏ ΞτϥγΞϯגࣜձࣾγχΞΤόϯδΣϦετ ɹ @tnagasawaɹɹɹɹre-workstyle.com ιϑτ΢ΣΞߏ੒؅ཧͷաڈɾݱࡏ

Slide 2

Slide 2 text

1996 ΠϯςοΫ ιϑτ΢ΣΞΤϯδχΞ 2000 3BUJPOBM4PGUXBSF ϓϩηεվળίϯαϧλϯτ 2003 ೔ຊΞΠɾϏʔɾΤϜ ϓϩηεվળίϯαϧλϯτ 2005 #PSMBOE4PGUXBSF ϓϩηεվળίϯαϧλϯτ ιϦϡʔγϣϯΞʔΩςΫτ 2007 .JDSPTPGU ΤόϯδΣϦετ ϓϩμΫτϚωʔδϟ 2014 γχΞΤόϯδΣϦετ ؂༁ڞஶॻଟ਺ ϓϨθϯςʔγϣϯڠྗ Speaker

Slide 3

Slide 3 text

Agenda ֓ཁ ࢓૊Έ ظ଴ʹԠ͑Διϑτ΢ΣΞ ιϑτ΢ΣΞߏ੒؅ཧ

Slide 4

Slide 4 text

Agenda ֓ཁ ιϑτ΢ΣΞߏ੒؅ཧ ڱٛͱ޿ٛ ߏ੒ཁૉ पลߏ੒

Slide 5

Slide 5 text

ڱٛͱ޿ٛ ιϑτ΢ΣΞߏ੒؅ཧ 1-1

Slide 6

Slide 6 text

ڱٛͱ޿ٛ ιϑτ΢ΣΞߏ੒؅ཧ ιϑτ΢ΣΞͷมߋΛ
 ίϯτϩʔϧ͠ଓ͚Δ͜ͱ ໾ׂ΍੒Ռ෺Λڮ౉͢͠Δ ຊདྷͷ੹຿ʹ஫ྗՄೳʹ

Slide 7

Slide 7 text

ιϑτ΢ΣΞߏ੒؅ཧ ιϑτ΢ΣΞͷมߋΛ
 ίϯτϩʔϧ͠ଓ͚Δ͜ͱ ໾ׂ΍੒Ռ෺Λڮ౉͢͠Δ ຊདྷͷ੹຿ʹ஫ྗՄೳʹ ҙਤͨ͠ιϑτ΢ΣΞΛ ࡞ΔͨΊʹඞཁͳج൫ٕज़

Slide 8

Slide 8 text

ҙਤͨ͠ιϑτ΢ΣΞΛ ࡞ΔͨΊʹඞཁͳج൫ٕज़ ҙਤͨ͠ιϑτ΢ΣΞ΁ͷ՝୊ ཁٻ΁ͷదԠ ฒߦ࡞ۀ ෼ࢄԽ΁ͷରԠ దਖ਼ͳϦϦʔε

Slide 9

Slide 9 text

ҙਤͨ͠ιϑτ΢ΣΞ΁ͷ՝୊ ཁٻ΁ͷదԠ ฒߦ࡞ۀ ෼ࢄԽ΁ͷରԠ దਖ਼ͳϦϦʔε ෳࡶ͞ͷܰݮ ιϑτ΢ΣΞ։ൃͷෳࡶ͞ͷܰݮ΁ͷ੒Ռ෺͔Βͷ
 Ξϓϩʔν͕ιϑτ΢ΣΞߏ੒؅ཧͰ͢ɻ ෳࡶ͞ͷܰݮ͸ɺଞʹ΋ϞσϦϯά΍ɺΞʔΩςΫνϟͳͲ
 ΋ߟ͑ΒΕ·͢ɻ

Slide 10

Slide 10 text

มߋґཔChange Requests ػೳ௥Ճόάվम ཁٻͷมߋ ཁٻόοΫϩά ιʔείʔυεΫϦϓτ Ϗϧυ੒Ռ෺ύοέʔδ ϦϦʔε τϦΞʔδ $$#มߋ؅ཧҕһձ ޿ٛͷ ιϑτ΢ΣΞߏ੒؅ཧ ڱٛͷ ιϑτ΢ΣΞߏ੒؅ཧ ڱٛͷιϑτ΢ΣΞߏ੒؅ཧ͸ɺ
 ୯ʹόʔδϣϯ؅ཧΛݴΘΕΔ͜ͱ΋͋Γ·͢ɻ

Slide 11

Slide 11 text

Agenda ֓ཁ ιϑτ΢ΣΞߏ੒؅ཧ ڱٛͱ޿ٛ ߏ੒ཁૉ पลߏ੒

Slide 12

Slide 12 text

ߏ੒ཁૉೳྗ ιϑτ΢ΣΞߏ੒؅ཧ 1-2

Slide 13

Slide 13 text

ߏ੒ཁૉೳྗ ιϑτ΢ΣΞߏ੒؅ཧ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ ϏϧυϦϦʔε੍ޚ ϓϩηε੍ޚ ιʔείʔυεΫϦϓτ ͷߏ੒ͷόʔδϣχϯά ιʔείʔυεΫϦϓτ ͷߏ੒ͷόʔδϣχϯά Ϗϧυ੒Ռ෺ύοέʔδ શମͷΦʔΨφΠζͱϫʔΫϑϩʔ ڱٛͷιϑτ΢ΣΞߏ੒؅ཧʹ͸ɺ
 όʔδϣϯ؅ཧؚ͕·Ε·͢ɻ

Slide 14

Slide 14 text

ߏ੒ཁૉೳྗ ιϑτ΢ΣΞߏ੒؅ཧ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ Work Products | Development ։ൃऀ ։ൃνʔϜ check out check in / commit όʔδϣϯ؅ཧϦϙδτϦ͚ͩͰͳ͘ɺ
 ϫʔΫεϖʔεʹ΋஫໨͢΂͖Ͱ͢ɻ

Slide 15

Slide 15 text

ߏ੒ཁૉೳྗ ιϑτ΢ΣΞߏ੒؅ཧ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ Work Products | Build Ϗϧυbot ։ൃνʔϜ check out ϏϧυϦϦʔε੍ޚ store / deploy Ϗϧυ੒Ռ෺ ιϑτ΢ΣΞߏ੒؅ཧ͸ɺࣗಈϏϧυʹ
 ͱͬͯ΋ෆՄܽͳج൫ͱͳΓ·͢ɻ

Slide 16

Slide 16 text

ߏ੒ཁૉೳྗ ιϑτ΢ΣΞߏ੒؅ཧ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ ϏϧυϦϦʔε੍ޚ ϓϩηε੍ޚ Work Products ։ൃνʔϜ ιϑτ΢ΣΞ։ൃ͸ɺνʔϜ׆ಈͰ͋Γɺ
 ಉ࣌ฒྻ࡞ۀͰ͋Δ͜ͱΛ๨Εͯ͸ͳΓ·ͤΜɻ

Slide 17

Slide 17 text

Agenda ֓ཁ ιϑτ΢ΣΞߏ੒؅ཧ ڱٛͱ޿ٛ ߏ੒ཁૉ पลߏ੒

Slide 18

Slide 18 text

पลߏ੒ ιϑτ΢ΣΞߏ੒؅ཧ 1-3

Slide 19

Slide 19 text

पลߏ੒ ιϑτ΢ΣΞߏ੒؅ཧ ϓϩηεͷجຊཁૉ αϙʔτγεςϜ

Slide 20

Slide 20 text

ϓϩηεͷجຊཁૉ ಈػߦಈ ਓ໾ׂ ੒Ռ෺ ϓϩηεͷجຊཁૉʹ͍ͭͯ͸ɺ
 3BUJPOBM6OJGJFE1SPDFTTͰ໌จԽ͞Ε͍ͯ·͢ɻ

Slide 21

Slide 21 text

ޙߦఔ ಈػߦಈ ਓ໾ׂ ੒Ռ෺ ΞαΠϯ ࡞ۀ લߦఔ ϓϩηεͷࢹ఺

Slide 22

Slide 22 text

ಈػߦಈ ਓ໾ׂ ੒Ռ෺ ཧ༝ ࡞ۀ લߦఔ ޙߦఔ ཧ༝ ໾ׂͷࢹ఺ ࡞ۀऀͰ͋Δʮ໾ׂʯ͔ΒݟΔͱɺ੒Ռ෺͸
 ࡞ۀͷ݁ՌͰ͋ΓɺνʔϜͰڞ༗͢Δʹ͸
 ʮಈػʯ͚͕ͮඞཁͰ͢ɻ

Slide 23

Slide 23 text

ಈػߦಈ ਓ໾ׂ ੒Ռ෺ ޙߦఔ ࡞ۀऀ ཧ༝ ੒Ռ෺ͷࢹ఺ લߦఔ ੒Ռ෺ͷࢹ఺Ͱ͸ɺલޙؔ܎΍ಈػ͕ෆ͔֬ͱͳΔ͜ͱ͕
 ଟ͋͘Γ·͢ɻ͜Ε͸ɺιϑτ΢ΣΞߏ੒؅ཧ͚ͩͰΛ࣮ફ͢Δ
 ͜ͱͷ೉͠͞ͱݴ͍׵͑Δ͜ͱ͕Ͱ͖·͢ɻ

Slide 24

Slide 24 text

ಈػߦಈ ਓ໾ׂ ੒Ռ෺ લߦఔ ޙߦఔ ࡞ۀऀ ཧ༝ ڱٛͷ ιϑτ΢ΣΞߏ੒؅ཧͷࢹ఺ ϓϩηεվળΛόʔδϣϯ؅ཧπʔϧͷಋೖ͚ͩͰ
 ߦ͏έʔε͕ଟ͍Ͱ͕͢ɺ࣮͸ࠔ೉ͳΞϓϩʔνʹͳΔ
 ৔߹͕ଟ͍͜ͱ΋஌͓ͬͯ͘ͱΑ͍Ͱ͠ΐ͏ɻ

Slide 25

Slide 25 text

ޙߦఔ ಈػߦಈ ਓ໾ׂ ੒Ռ෺ ΞαΠϯ ࡞ۀ લߦఔ 7FSTJPO$POUSPM4ZTUFN *TTVF5SBDLJOH4ZTUFN αϙʔτγεςϜ "VUPNBUFE#VJME

Slide 26

Slide 26 text

αϙʔτγεςϜ มߋґཔChange Requests ػೳ௥Ճόάվम ཁٻͷมߋ ཁٻόοΫϩά ιʔείʔυεΫϦϓτ Ϗϧυ੒Ռ෺ύοέʔδ ϦϦʔε τϦΞʔδ $$#มߋ؅ཧҕһձ ITS SCM CI

Slide 27

Slide 27 text

֬ೝ ֓ཁ ιϑτ΢ΣΞߏ੒؅ཧ ڱٛͱ޿ٛ ߏ੒ཁૉ पลߏ੒

Slide 28

Slide 28 text

ιϑτ΢ΣΞߏ੒؅ཧ ιϑτ΢ΣΞͷมߋΛ
 ίϯτϩʔϧ͠ଓ͚Δ͜ͱ ໾ׂ΍੒Ռ෺Λڮ౉͢͠Δ ຊདྷͷ੹຿ʹ஫ྗՄೳʹ

Slide 29

Slide 29 text

ߏ੒ཁૉೳྗ ιϑτ΢ΣΞߏ੒؅ཧ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ ϏϧυϦϦʔε੍ޚ ϓϩηε੍ޚ

Slide 30

Slide 30 text

มߋґཔChange Requests ػೳ௥Ճόάվम ཁٻͷมߋ ཁٻόοΫϩά ιʔείʔυεΫϦϓτ Ϗϧυ੒Ռ෺ύοέʔδ ϦϦʔε τϦΞʔδ $$#มߋ؅ཧҕһձ ITS SCM CI ෳࡶ͞ͷܰݮʹΑΓ͍ͭͰ΋ߏ੒Λࣝผެ։Ͱ͖Δ͜ͱ

Slide 31

Slide 31 text

֓ཁ Agenda ࢓૊Έ ظ଴ʹԠ͑Διϑτ΢ΣΞ ιϑτ΢ΣΞߏ੒؅ཧ

Slide 32

Slide 32 text

֓ཁ ࢓૊Έ ಛ௃ͱதԝूத؅ཧ ෼ࢄ؅ཧ ಋೖࢦ਑ Agenda ιϑτ΢ΣΞߏ੒؅ཧ

Slide 33

Slide 33 text

ಛ௃ ιϑτ΢ΣΞߏ੒؅ཧγεςϜ 2-1

Slide 34

Slide 34 text

ಛ௃ ιϑτ΢ΣΞߏ੒؅ཧγεςϜ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ ϏϧυϦϦʔε੍ޚ ϓϩηε੍ޚ ೳྗΛαϙʔτ͢ΔγεςϜ

Slide 35

Slide 35 text

ιϑτ΢ΣΞߏ੒؅ཧγεςϜ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ ϦϙδτϦ ࣝผͱ࠶ݱ ೳྗΛαϙʔτ͢ΔγεςϜ w ੒Ռ෺ͷ֨ೲ w ੒Ռ෺ͷόʔδϣϯԽ w ੒Ռ෺ߏ੒ؔ܎ͷόʔδϣϯԽ w ҆શͳ੒Ռ෺ͷࣝผ w ҆શͳ੒Ռ෺ͷऔಘͱߋ৽ w ҆શͳ੒Ռ෺ͷར༻ͱҾ͖౉͠ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ ಛ௃ ϦϙδτϦ

Slide 36

Slide 36 text

ιϑτ΢ΣΞߏ੒؅ཧγεςϜ ϫʔΫεϖʔε੍ޚ ϦϙδτϦ ࣝผͱ࠶ݱ ೳྗΛαϙʔτ͢ΔγεςϜ w ੒Ռ෺ͷ֨ೲ w ੒Ռ෺ͷόʔδϣϯԽ w ੒Ռ෺ߏ੒ؔ܎ͷόʔδϣϯԽ w ҆શͳ੒Ռ෺ͷࣝผ w ҆શͳ੒Ռ෺ͷऔಘͱߋ৽ w ҆શͳ੒Ռ෺ͷར༻ͱҾ͖౉͠ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ όʔδϣϯ੍ޚ ಛ௃ ϦϙδτϦ ্ॻ͖ͷ໰୊

Slide 37

Slide 37 text

ιϑτ΢ΣΞߏ੒؅ཧγεςϜ ϫʔΫεϖʔε੍ޚ ϦϙδτϦ ࣝผͱ࠶ݱ ೳྗΛαϙʔτ͢ΔγεςϜ w ੒Ռ෺ͷ֨ೲ w ੒Ռ෺ͷόʔδϣϯԽ w ੒Ռ෺ߏ੒ؔ܎ͷόʔδϣϯԽ w ҆શͳ੒Ռ෺ͷࣝผ w ҆શͳ੒Ռ෺ͷऔಘͱߋ৽ w ҆શͳ੒Ռ෺ͷར༻ͱҾ͖౉͠ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ όʔδϣϯ੍ޚ ಛ௃ ϦϙδτϦ

Slide 38

Slide 38 text

ιϑτ΢ΣΞߏ੒؅ཧγεςϜ ϫʔΫεϖʔε੍ޚ ϦϙδτϦ ࣝผͱ࠶ݱ ೳྗΛαϙʔτ͢ΔγεςϜ w ੒Ռ෺ͷ֨ೲ w ੒Ռ෺ͷόʔδϣϯԽ w ੒Ռ෺ߏ੒ؔ܎ͷόʔδϣϯԽ w ҆શͳ੒Ռ෺ͷࣝผ w ҆શͳ੒Ռ෺ͷऔಘͱߋ৽ w ҆શͳ੒Ռ෺ͷར༻ͱҾ͖౉͠ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ όʔδϣϯ੍ޚ ಛ௃ ϦϙδτϦ ࣗಈϏϧυʹͱͬͯ΋
 ϫʔΫεϖʔε͸ॏཁͰ͢ɻ

Slide 39

Slide 39 text

ϫʔΫεϖʔε੍ޚ όʔδϣϯ੍ޚ νΣοΫΠϯίϛοτ νΣοΫΞ΢τ ϒϥϯν Ϛʔδ ιϑτ΢ΣΞߏ੒؅ཧγεςϜ ೳྗΛαϙʔτ͢ΔγεςϜ ϦϙδτϦ w ੒Ռ෺ͷ֨ೲ w ੒Ռ෺ͷόʔδϣϯԽ w ੒Ռ෺ߏ੒ؔ܎ͷόʔδϣϯԽ όʔδϣϯ੍ޚ ࣝผͱ࠶ݱ w ҆શͳ੒Ռ෺ͷࣝผ w ҆શͳ੒Ռ෺ͷऔಘͱߋ৽ w ҆શͳ੒Ռ෺ͷར༻ͱҾ͖౉͠ ϫʔΫεϖʔε੍ޚ ಛ௃ ϦϙδτϦ

Slide 40

Slide 40 text

ιϑτ΢ΣΞߏ੒؅ཧγεςϜ ϫʔΫεϖʔε੍ޚ ೳྗΛαϙʔτ͢ΔγεςϜ όʔδϣϯ੍ޚ ಛ௃ ϏϧυϦϦʔε੍ޚ ͲͷόʔδϣϯͰߏ੒͞Ε͍ͯΔ͔ʁ Ͳ͏Ϗϧυ͔ͨ͠ʁ Ͳ͜ʹϦϦʔε͔ͨ͠ʁ ϏϧυͱϦϦʔε ιʔείʔυͷࣝผͱ࠶ݱੑ͚ͩͰͳ͘ɺϏϧυͱϦϦʔεͷ
 ߏ੒Λࣝผ͢Δ͜ͱ͸͋ΒΏΔιϑτ΢ΣΞʹͱͬͯॏཁͰ͢ɻ

Slide 41

Slide 41 text

ιϑτ΢ΣΞߏ੒؅ཧγεςϜ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ ϏϧυϦϦʔε੍ޚ ϓϩηε੍ޚ ೳྗΛαϙʔτ͢ΔγεςϜ ಛ௃ w ҡ࣋ w ա౓ͳଐਓੑͷഉআ w ϛεͱखؒͷܰݮ w ؆ૉԽ ໨త w ϙϦγʔ w "$- w ࣄલ৚݅ w ࣄޙ৚݅ खஈ ϓϩηεͱϙϦγʔ ϓϩηεͱϙϦγʔ͸ɺϑΥʔϚϧͳ౷੍͚ͩͰ ͳ͘ɺਓҝతϛεͷܰݮ΍ɺۉ࣭ԽɺϧʔνϯϫʔΫͷ վળͱܰݮʹܨ͕Δઓུతͳ΋ͷͰ͢ɻ

Slide 42

Slide 42 text

தԝूத؅ཧ ιϑτ΢ΣΞߏ੒؅ཧγεςϜ 2-1

Slide 43

Slide 43 text

தԝूத؅ཧ ιϑτ΢ΣΞߏ੒؅ཧγεςϜ ϫʔΫεϖʔε੍ޚ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ

Slide 44

Slide 44 text

தԝूத؅ཧ ιϑτ΢ΣΞߏ੒؅ཧγεςϜ ϫʔΫεϖʔε੍ޚ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ ಛ௃ w ୯ҰϦϙδτϦ w ؅ཧͷूதԽ͕༰қ w ੍ޚͷूதԽ͕༰қ w ৗʹϦϙδτϦʹ઀ଓ ྫ 4VCWFSTJPO 47/ c$MFBS$BTFc5'4 5'7$ πʔϧ͸ɺΦϯϓϨϛεͰͷՔಇ͕ଟ͍Ͱ͢ɻ
 ϗεςΟϯάαʔϏε΋͋Γ·͕͢ɺݶఆతͰ͢ɻ

Slide 45

Slide 45 text

֓ཁ ࢓૊Έ ಛ௃ͱதԝूத؅ཧ ෼ࢄ؅ཧ ಋೖࢦ਑ Agenda ιϑτ΢ΣΞߏ੒؅ཧ

Slide 46

Slide 46 text

෼ࢄ؅ཧ %7$4 ιϑτ΢ΣΞߏ੒؅ཧγεςϜ 2-2

Slide 47

Slide 47 text

෼ࢄ؅ཧ %7$4 ιϑτ΢ΣΞߏ੒؅ཧγεςϜ remote local local local local local local local local ϫʔΫεϖʔε ϦϙδτϦ ෼ࢄ ϫʔΫεϖʔε

Slide 48

Slide 48 text

෼ࢄ؅ཧ %7$4 ιϑτ΢ΣΞߏ੒؅ཧγεςϜ remote local ϫʔΫεϖʔε ϦϙδτϦ ෼ࢄ master bugfix clone

Slide 49

Slide 49 text

෼ࢄ؅ཧ %7$4 ιϑτ΢ΣΞߏ੒؅ཧγεςϜ remote local ϫʔΫεϖʔε ϦϙδτϦ ෼ࢄ master bugfix master bugfix clone

Slide 50

Slide 50 text

෼ࢄ؅ཧ %7$4 ιϑτ΢ΣΞߏ੒؅ཧγεςϜ remote local ϫʔΫεϖʔε ϦϙδτϦ ෼ࢄ master bugfix master bugfix commit push

Slide 51

Slide 51 text

෼ࢄ؅ཧ %7$4 ιϑτ΢ΣΞߏ੒؅ཧγεςϜ remote local ϫʔΫεϖʔε ϦϙδτϦ ෼ࢄ master bugfix master bugfix commit push

Slide 52

Slide 52 text

෼ࢄ؅ཧ %7$4 ͷಛ௃ ιϑτ΢ΣΞߏ੒؅ཧγεςϜ remote local ෼ࢄϦϙδτϦ w SFNPUFͱ࡞ۀ؀ڥ෼ͷMPDBM͕͋Δ w ϓϩηε੍ޚ͕ͮ͠Β͍܏޲ local master bugfix MPDBMϦϙδτϦ w ࡞ۀ؀ڥͰಠࣗʹόʔδϣϯ؅ཧͰ͖Δ w ӨڹΛ༩͑ͣʹ͜·ΊʹཤྺΛ࢒ͤΔ w ෆඞཁͳཤྺ͸੍ޚͰ͖Δ w l෼཭ͱ౷߹zΛݸผʹ੍ޚͰ͖Δ

Slide 53

Slide 53 text

ಛ௃ w ෼ࢄϦϙδτϦ w ؅ཧͷ෼ࢄԽ͕༰қ w ੍ޚ͕ෳࡶ w ΦϑϥΠϯରԠ͕༰қ ྫ (JUc.FSDVSJBM )( ෼ࢄ؅ཧ %7$4 ͷಛ௃ ιϑτ΢ΣΞߏ੒؅ཧγεςϜ remote local master bugfix master bugfix local local

Slide 54

Slide 54 text

֓ཁ ࢓૊Έ ಛ௃ͱதԝूத؅ཧ ෼ࢄ؅ཧ ಋೖࢦ਑ Agenda ιϑτ΢ΣΞߏ੒؅ཧ

Slide 55

Slide 55 text

ಋೖͷࢦ਑ ιϑτ΢ΣΞߏ੒؅ཧγεςϜ 2-3

Slide 56

Slide 56 text

ಋೖͷࢦ਑ ιϑτ΢ΣΞߏ੒؅ཧγεςϜ 㾎 සൟͳมߋ͕͋Δ 5%%ͳͲ 㾎 ஍ཧతʹ෼ࢄ͍ͯ͠Δ 㾎 ΍Γ௚͕͠ར͘ 㾎 ෳࡶͳϒϥϯνઓུ 㾎 ଞγεςϜͱͷ࿈ܞ 㾎 ιʔγϟϧίʔσΟϯά ෼ࢄόʔδϣϯ؅ཧγεςϜ DVCS ͻͱͭͰ΋౰ͯ͸·Ε͹

Slide 57

Slide 57 text

ಋೖͷࢦ਑ ιϑτ΢ΣΞߏ੒؅ཧγεςϜ 㾎 ؇΍͔ͳมߋ͕͋Δ 㾎 ৗʹϦϙδτϦʹ઀ଓͰ͖Δ 㾎 ݎ࣮Ͱެࣜͳߏ੒؅ཧ 㾎 ఆܕతͳϒϥϯνઓུ 㾎 ଞγεςϜ࿈ܞͷࣄ৘ 㾎 ϝϯόʔͷ੒ख़౓ தԝूதόʔδϣϯ؅ཧγεςϜ CVCS ͢΂ͯ౰ͯ͸·Ε͹

Slide 58

Slide 58 text

ಋೖͷࢦ਑ ιϑτ΢ΣΞߏ੒؅ཧγεςϜ ෼ࢄόʔδϣϯ؅ཧγεςϜ DVCS ΞδϟΠϧϓϥΫςΟε Ϟμϯϒϥϯνઓུ ޿ٛͷιϑτ΢ΣΞߏ੒؅ཧ

Slide 59

Slide 59 text

ಋೖͷࢦ਑ ιϑτ΢ΣΞߏ੒؅ཧγεςϜ ෼ࢄόʔδϣϯ؅ཧγεςϜ DVCS ΞδϟΠϧϓϥΫςΟε ൓෮ ϑΟʔυόοΫ ಛ௃ɿ ϓϥΫςΟεͷྫɿ ςετۦಈ։ൃ ܧଓతΠϯςάϨʔγϣϯ

Slide 60

Slide 60 text

ಋೖͷࢦ਑ ιϑτ΢ΣΞߏ੒؅ཧγεςϜ ෼ࢄόʔδϣϯ؅ཧγεςϜ DVCS Ϟμϯϒϥϯνઓུ HJUqPXɿ Develop Feature A master Release Hotfix Feature B v 1.0 v 1.1 v 2.0 HJUGMPX͸ɺϕετϓϥΫςΟεͷͻͱͭͯ͠஌ΒΕ ͍ͯ·͕͢ɺݱ৔ʹԠͯ͡ɺΑΓγϯϓϧͳӡӦΛ
 ͢Δ͜ͱ͕ॏཁͰ͢ɻෳࡶ͞ΛϒϥϯνͰ࡞Βͳ͍Α͏ʹɻ

Slide 61

Slide 61 text

ಋೖͷࢦ਑ ιϑτ΢ΣΞߏ੒؅ཧγεςϜ ෼ࢄόʔδϣϯ؅ཧγεςϜ DVCS Ϟμϯϒϥϯνઓུ 1VMM3FRVFTU.PEFM (JU)VC'MPX ɿ Develop Feature A push remote local Feature A Pull Request merge ྫ (JU)VCc#JUCVDLFUc(JU-BC ϓϧϦΫΤετ͸ɺଟ͘ͷ%7$4Ϧϙδ τϦγεςϜͰ࠾༻͞Ε͍ͯ·͢ɻ (JU)VC #JUCVDLFUͷ4BB4ܕ͕༗໊Ͱ͕͢ɺ
 #JUCVDLFU4FSWFS΍(JU)VC&OUFSQSJTF (JU-BCͳͲͷΦϯϓϨϛεՔಇ΋͋Γ·͢ɻ

Slide 62

Slide 62 text

ಋೖͷࢦ਑ ιϑτ΢ΣΞߏ੒؅ཧγεςϜ ෼ࢄόʔδϣϯ؅ཧγεςϜ DVCS ޿ٛͷιϑτ΢ΣΞߏ੒؅ཧ SCM ITS CI มߋґཔ ػೳ௥Ճόάվम ཁٻͷมߋ ཁٻ όοΫϩά ιʔείʔυ
 εΫϦϓτ Ϗϧυ੒Ռ෺
 ύοέʔδ ϦϦʔε τϦΞʔδ $$#มߋ؅ཧҕһձ %7$4ʹରԠͨ͠*54 $*γεςϜ͕ɺ૿Ճ͠ ͍ͯΔ܏޲ʹ͋Γ·͢ɻ

Slide 63

Slide 63 text

ಋೖͷࢦ਑ ιϑτ΢ΣΞߏ੒؅ཧγεςϜ ෼ࢄόʔδϣϯ؅ཧγεςϜ DVCS มߋґཔ ػೳ௥Ճόάվम ཁٻͷมߋ ཁٻ όοΫϩά ιʔείʔυ
 εΫϦϓτ Ϗϧυ੒Ռ෺
 ύοέʔδ ϦϦʔε τϦΞʔδ $$#มߋ؅ཧҕһձ ITS SCM CI • JIRA • Redmine • Git • Mercurial • Jenkins • Bamboo • Circle CI

Slide 64

Slide 64 text

֓ཁ ࢓૊Έ ಛ௃ͱதԝूத؅ཧ ෼ࢄ؅ཧ ಋೖࢦ਑ ιϑτ΢ΣΞߏ੒؅ཧ ֬ೝ

Slide 65

Slide 65 text

ಛʹॏཁͳ࢓૊Έ ιϑτ΢ΣΞߏ੒؅ཧγεςϜ ϦϙδτϦ w ੒Ռ෺ͷ֨ೲ w ੒Ռ෺ͷόʔδϣϯԽ w ੒Ռ෺ߏ੒ؔ܎ͷόʔδϣϯԽ όʔδϣϯ੍ޚ ࣝผͱ࠶ݱ w ҆શͳ੒Ռ෺ͷࣝผ w ҆શͳ੒Ռ෺ͷऔಘͱߋ৽ w ҆શͳ੒Ռ෺ͷར༻ͱҾ͖౉͠ ϫʔΫεϖʔε੍ޚ

Slide 66

Slide 66 text

தԝूதόʔδϣϯ؅ཧγεςϜ CVCS ͭͷ7$4 ιϑτ΢ΣΞߏ੒؅ཧγεςϜ remote local local local ෼ࢄόʔδϣϯ؅ཧγεςϜ DVCS

Slide 67

Slide 67 text

Ϟμϯϒϥϯνઓུ ιϑτ΢ΣΞߏ੒؅ཧγεςϜ 1VMM3FRVFTU.PEFM (JU)VC'MPX ɿ Develop Feature A push remote local Feature A Pull Request merge

Slide 68

Slide 68 text

֓ཁ Agenda ࢓૊Έ ظ଴ʹԠ͑Διϑτ΢ΣΞ ιϑτ΢ΣΞߏ੒؅ཧ

Slide 69

Slide 69 text

࢓૊Έ ֓ཁ ظ଴ʹԠ͑Διϑτ΢ΣΞ Ϗδωεͱιϑτ΢ΣΞ඼࣭ ੵۃతͳߏ੒؅ཧ Agenda ιϑτ΢ΣΞߏ੒؅ཧ

Slide 70

Slide 70 text

%FW0QT Ϗδωεχʔζͱιϑτ΢ΣΞ඼࣭ 3-1

Slide 71

Slide 71 text

%FW0QT Ϗδωεχʔζͱιϑτ΢ΣΞ඼࣭ Ϗδωε ։ൃ ӡ༻ Ϗδωε໨ඪ ചΓ্͛རӹ཰ Ϣʔβʔ਺ ੜ࢈ੑՔಇ཰ ϏδωεۦಈϜʔϒϝϯτ ։ൃɾӡ༻ͷͦΕͧΕͷϛογϣϯͱՁ஋؍ Ͱ͸ͳ͘ɺϏδωε໨ඪͱ,1*΁ͷઓུతͳߩݙ Λܧଓతʹҙࣝ͢Δඞཁ͕͋Γ·͢ɻ

Slide 72

Slide 72 text

%FW0QT Ϗδωεχʔζͱιϑτ΢ΣΞ඼࣭ Ϗδωε ϏδωεۦಈϜʔϒϝϯτ ։ൃ ӡ༻ Πϯγσϯτ ໰୊ มߋ ΞΠσΞόά ίʔυ ϦϦʔε ϏδωεͷϦζϜcαΠΫϧλΠϜɾڞಉॴ༗ɾಁ໌ੑɾࣗಈԽলྗԽ ιϑτ΢ΣΞߏ੒؅ཧ͸ɺ։ൃͱӡ༻ͷڠௐ ͷͨΊͷ৘ใΠϯϑϥͱͯ͠΋ෆՄܽͱͳͬͯ
 ͖͍ͯ·͢ɻ

Slide 73

Slide 73 text

%FW0QT Ϗδωεχʔζͱιϑτ΢ΣΞ඼࣭ ιϑτ΢ΣΞߏ੒؅ཧͷείʔϓͷ֦େ ։ൃ ӡ༻ Πϯγσϯτ ໰୊ มߋ ΞΠσΞόά ίʔυ ϦϦʔε ϏδωεͷϦζϜcαΠΫϧλΠϜɾڞಉॴ༗ɾಁ໌ੑɾࣗಈԽলྗԽ ڞಉॴ༗ ։ൃίʔυ ӡ༻ίʔυ
 ( IaC ) *B$*OGSBTUSVDUVSFBT$PEFʹΑΓΠϯϑ ϥͷίʔυԽ͕ଅਐ͞ΕɺΞϓϦͱΠϯϑϥΛ౷ ੍ͩͯͯߏ੒Ͱ͖ΔΑ͏ʹͳ͖ͬͯ·ͨ͠ɻ

Slide 74

Slide 74 text

%FW0QT Ϗδωεχʔζͱιϑτ΢ΣΞ඼࣭ ιϑτ΢ΣΞߏ੒؅ཧͷείʔϓͷ֦େ ։ൃ ӡ༻ Πϯγσϯτ ໰୊ มߋ ΞΠσΞόά ίʔυ ϦϦʔε ϏδωεͷϦζϜcαΠΫϧλΠϜɾڞಉॴ༗ɾಁ໌ੑɾࣗಈԽলྗԽ ڞಉॴ༗ ։ൃίʔυ ӡ༻ίʔυ
 ( IaC ) Ϗδωεχʔζ ϏδωεՁ஋ ޿ٛͷ4$.

Slide 75

Slide 75 text

࢓૊Έ ֓ཁ ظ଴ʹԠ͑Διϑτ΢ΣΞ Ϗδωεͱιϑτ΢ΣΞ඼࣭ ੵۃతͳߏ੒؅ཧ Agenda ιϑτ΢ΣΞߏ੒؅ཧ

Slide 76

Slide 76 text

ιϑτ΢ΣΞߏ੒؅ཧ ੵۃతͳ 3-2

Slide 77

Slide 77 text

ιϑτ΢ΣΞߏ੒؅ཧ ੵۃతͳ

Slide 78

Slide 78 text

੒Ռ෺ͱ࡞ۀͷෳࡶԽʹΑΓɺϝϯόʔ΋
 Ϛωδϝϯτ΋ຊۀͰ͸ͳ͘ɺ৘ใऔूʹ࣌ؒΛ ͱΒΕΔ܏޲͕͋Γ·͢ɻ

Slide 79

Slide 79 text

੒Ռ෺ͷҰݩԽͱɺ*54ʹΑΔ৘ใ౷੍ ৘ใ )VC ʹΑΓɺຊۀʹ஫ྗͰ͖Δ؀ڥ͕੔͍·͢ɻ

Slide 80

Slide 80 text

ΞΠσΞ ϏδωεՁ஋ ίʔυ Ϗϧυ ಈ͘ιϑτ΢ΣΞ όοΫϩά ιϑτ΢ΣΞ։ൃʹ͓͚Δ
 ৘ใͷฏқ౓ɺཻ౓ɺՁ஋؍͸͞·͟·Ͱ͢ɻ

Slide 81

Slide 81 text

ΞΠσΞ ϏδωεՁ஋ ίʔυ Ϗϧυ ಈ͘ιϑτ΢ΣΞ όοΫϩά ITS ITS SCM CI CI *54 4$.$*ʹΑΓ৘ใͷྲྀ௨Λ੍ޚ͠ɺ
 ιϑτ΢ΣΞ։ൃͷෳࡶ౓Λܰݮ͠·͢ɻ 4$.͚ͩͰվળͰ͖ͳ͍఺Λ஫ҙ͠·͢ɻ

Slide 82

Slide 82 text

ΞΠσΞ ϏδωεՁ஋ ίʔυ όοΫϩά λεΫ ιϑτ΢ΣΞߏ੒؅ཧ͸ෆՄܽͰ͕͢ɺ
 ͦΕ͚ͩͰ͸ͳɺίϛϡχέʔγϣϯͱ
 ίϥϘϨʔγϣϯʹ͸ෆ଍͍ͯ͠Δ఺ͱ஫ҙ͢΂͖Ͱ͢ɻ

Slide 83

Slide 83 text

ιϑτ΢ΣΞߏ੒؅ཧ ੵۃతͳ w'MPXPG7BMVF wڞಉॴ༗ wιʔγϟϧίʔσΟϯά ू߹஌ ʮ'MPXPG7BMVFʯͱ͸ɺΞΠσΞ͕ϏδωεՁ஋ʹͳΔ·ͰͷྲྀΕΛॏࢹ͢΂͖ͱ͍͏͜ͱͰ͢ɻ
 ֤޻ఔͰͷਐ௙ΑΓ΋ɺՁ஋ΛσϦόϦʔͰ͖͔ͨʹॏ͖Λஔ͖·͢ɻ ʮιʔγϟϧίʔσΟϯάʯ͸ɺϑΥʔϚϧͳߏ੒؅ཧΑΓɺ஌ݟʹऩूͱվળೳྗʹظ଴͢ΔΞϓϩʔνͰ
 ΦʔϓϯιʔεϓϩδΣΫτͰ࣮ફ͞Ε͍ͯΔ΍ΓํͰ͢ɻ͜ͷ΍ΓํʹΑΓɺ৽ٕज़΍ཁٻ͕ݻ·Γʹ͍͘
 ιϑτ΢ΣΞ։ൃͰ΋ɺೳྗΛ࠷େԽͰ͖Δ͜ͱ͕ظ଴͞Ε͍ͯ·͢ɻ

Slide 84

Slide 84 text

࢓૊Έ ֓ཁ ظ଴ʹԠ͑Διϑτ΢ΣΞ Ϗδωεͱιϑτ΢ΣΞ඼࣭ ੵۃతͳߏ੒؅ཧ ιϑτ΢ΣΞߏ੒؅ཧ ֬ೝ

Slide 85

Slide 85 text

%FW0QT Ϗδωεχʔζͱιϑτ΢ΣΞ඼࣭ ιϑτ΢ΣΞߏ੒؅ཧͷείʔϓͷ֦େ ։ൃ ӡ༻ Πϯγσϯτ ໰୊ มߋ ΞΠσΞόά ίʔυ ϦϦʔε ϏδωεͷϦζϜcαΠΫϧλΠϜɾڞಉॴ༗ɾಁ໌ੑɾࣗಈԽলྗԽ ։ൃίʔυ ӡ༻ίʔυ
 ( IaC ) Ϗδωεχʔζ ϏδωεՁ஋ ޿ٛͷ4$.

Slide 86

Slide 86 text

·ͱΊ ֓ཁ ࢓૊Έ ظ଴ʹԠ͑Διϑτ΢ΣΞ ιϑτ΢ΣΞߏ੒؅ཧ

Slide 87

Slide 87 text

Thank you! Tomoharu Nagasawa • Senior Evangelist • Atlassian • @tnagasawa ແྉͰߨԋ΍ݱ৔๚໰ͷ͝ґཔΛঝΓ·͢ɻ ͓ؾܰʹɺ͝࿈བྷ͍ͩ͘͞ɻ FNBJMUOBHBTBXB!BUMBTTJBODPN