Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
積極的なソフトウェア構成管理の活用方法
Search
長沢 智治 - NAGASAWA, Tomoharu
December 22, 2015
Technology
0
680
積極的なソフトウェア構成管理の活用方法
SQiP にて実施したソフトウェア構成管理入門の資料です
長沢 智治 - NAGASAWA, Tomoharu
December 22, 2015
Tweet
Share
More Decks by 長沢 智治 - NAGASAWA, Tomoharu
See All by 長沢 智治 - NAGASAWA, Tomoharu
2つのモードで学ぶ辛くないスクラム #RSGT2021
tnagasawa
1
16k
「正解のない時代」のチームワーク
tnagasawa
0
540
アジャイルとDevOps - はじめる前に
tnagasawa
1
1k
Going Agile with Tools - #RSGT2020
tnagasawa
1
14k
We got regarding DevOps so far - だいたいわかる DevOps
tnagasawa
1
440
プロジェクト管理とツール #JBUG 岡山2
tnagasawa
1
870
できるだけシンプルにしたいプロジェクトマネジメント
tnagasawa
2
4.5k
あなたの推しテクをもっと伝えるプレゼンテーション術 #AWSDevDay
tnagasawa
8
13k
現場にあった プロジェクトマネジメントを探求する ウォーターフォール or アジャイル
tnagasawa
8
5.1k
Other Decks in Technology
See All in Technology
AWS Summit Japan 2025 Community Stage - App workflow automation by AWS Step Functions
matsuihidetoshi
1
140
ひとり情シスなCTOがLLMと始めるオペレーション最適化 / CTO's LLM-Powered Ops
yamitzky
0
380
【TiDB GAME DAY 2025】Shadowverse: Worlds Beyond にみる TiDB 活用術
cygames
0
860
Agentic Workflowという選択肢を考える
tkikuchi1002
1
380
Uniadex__公開版_20250617-AIxIoTビジネス共創ラボ_ツナガルチカラ_.pdf
iotcomjpadmin
0
150
[TechNight #90-1] 本当に使える?ZDMの新機能を実践検証してみた
oracle4engineer
PRO
3
140
Snowflake Summit 2025 データエンジニアリング関連新機能紹介 / Snowflake Summit 2025 What's New about Data Engineering
tiltmax3
0
230
米国国防総省のDevSecOpsライフサイクルをAWSのセキュリティサービスとOSSで実現
syoshie
2
810
Claude Code Actionを使ったコード品質改善の取り組み
potix2
PRO
4
1.6k
生成AIでwebアプリケーションを作ってみた
tajimon
2
120
より良いプロダクトの開発を目指して - 情報を中心としたプロダクト開発 #phpcon #phpcon2025
bengo4com
0
350
Agentic DevOps時代の生存戦略
kkamegawa
0
980
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Into the Great Unknown - MozCon
thekraken
39
1.9k
Bash Introduction
62gerente
614
210k
A Tale of Four Properties
chriscoyier
160
23k
Gamification - CAS2011
davidbonilla
81
5.3k
The Cost Of JavaScript in 2023
addyosmani
51
8.4k
For a Future-Friendly Web
brad_frost
179
9.8k
Visualization
eitanlees
146
16k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Optimizing for Happiness
mojombo
379
70k
Balancing Empowerment & Direction
lara
1
340
Transcript
ੵۃతͳιϑτΣΞߏཧ ͷ׆༻ํ๏ ஐ࣏ ΞτϥγΞϯגࣜձࣾγχΞΤόϯδΣϦετ ɹ @tnagasawaɹɹɹɹre-workstyle.com ιϑτΣΞߏཧͷաڈɾݱࡏ
1996 ΠϯςοΫ ιϑτΣΞΤϯδχΞ 2000 3BUJPOBM4PGUXBSF ϓϩηεվળίϯαϧλϯτ 2003 ຊΞΠɾϏʔɾΤϜ ϓϩηεվળίϯαϧλϯτ 2005
#PSMBOE4PGUXBSF ϓϩηεվળίϯαϧλϯτ ιϦϡʔγϣϯΞʔΩςΫτ 2007 .JDSPTPGU ΤόϯδΣϦετ ϓϩμΫτϚωʔδϟ 2014 γχΞΤόϯδΣϦετ ༁ڞஶॻଟ ϓϨθϯςʔγϣϯڠྗ Speaker
Agenda ֓ཁ Έ ظʹԠ͑ΔιϑτΣΞ ιϑτΣΞߏཧ
Agenda ֓ཁ ιϑτΣΞߏཧ ڱٛͱٛ ߏཁૉ पลߏ
ڱٛͱٛ ιϑτΣΞߏཧ 1-1
ڱٛͱٛ ιϑτΣΞߏཧ ιϑτΣΞͷมߋΛ ίϯτϩʔϧ͠ଓ͚Δ͜ͱ ׂՌΛڮ͢͠Δ ຊདྷͷʹྗՄೳʹ
ιϑτΣΞߏཧ ιϑτΣΞͷมߋΛ ίϯτϩʔϧ͠ଓ͚Δ͜ͱ ׂՌΛڮ͢͠Δ ຊདྷͷʹྗՄೳʹ ҙਤͨ͠ιϑτΣΞΛ ࡞ΔͨΊʹඞཁͳج൫ٕज़
ҙਤͨ͠ιϑτΣΞΛ ࡞ΔͨΊʹඞཁͳج൫ٕज़ ҙਤͨ͠ιϑτΣΞͷ՝ ཁٻͷదԠ ฒߦ࡞ۀ ࢄԽͷରԠ దਖ਼ͳϦϦʔε
ҙਤͨ͠ιϑτΣΞͷ՝ ཁٻͷదԠ ฒߦ࡞ۀ ࢄԽͷରԠ దਖ਼ͳϦϦʔε ෳࡶ͞ͷܰݮ ιϑτΣΞ։ൃͷෳࡶ͞ͷܰݮͷՌ͔Βͷ Ξϓϩʔν͕ιϑτΣΞߏཧͰ͢ɻ ෳࡶ͞ͷܰݮɺଞʹϞσϦϯάɺΞʔΩςΫνϟͳͲ ߟ͑ΒΕ·͢ɻ
มߋґཔChange Requests ػೳՃόάվम ཁٻͷมߋ ཁٻόοΫϩά ιʔείʔυεΫϦϓτ ϏϧυՌύοέʔδ ϦϦʔε τϦΞʔδ $$#มߋཧҕһձ
ٛͷ ιϑτΣΞߏཧ ڱٛͷ ιϑτΣΞߏཧ ڱٛͷιϑτΣΞߏཧɺ ୯ʹόʔδϣϯཧΛݴΘΕΔ͜ͱ͋Γ·͢ɻ
Agenda ֓ཁ ιϑτΣΞߏཧ ڱٛͱٛ ߏཁૉ पลߏ
ߏཁૉೳྗ ιϑτΣΞߏཧ 1-2
ߏཁૉೳྗ ιϑτΣΞߏཧ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ ϏϧυϦϦʔε੍ޚ ϓϩηε੍ޚ ιʔείʔυεΫϦϓτ ͷߏͷόʔδϣχϯά ιʔείʔυεΫϦϓτ ͷߏͷόʔδϣχϯά
ϏϧυՌύοέʔδ શମͷΦʔΨφΠζͱϫʔΫϑϩʔ ڱٛͷιϑτΣΞߏཧʹɺ όʔδϣϯཧؚ͕·Ε·͢ɻ
ߏཁૉೳྗ ιϑτΣΞߏཧ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ Work Products | Development ։ൃऀ ։ൃνʔϜ
check out check in / commit όʔδϣϯཧϦϙδτϦ͚ͩͰͳ͘ɺ ϫʔΫεϖʔεʹ͖͢Ͱ͢ɻ
ߏཁૉೳྗ ιϑτΣΞߏཧ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ Work Products | Build Ϗϧυbot ։ൃνʔϜ
check out ϏϧυϦϦʔε੍ޚ store / deploy ϏϧυՌ ιϑτΣΞߏཧɺࣗಈϏϧυʹ ͱͬͯෆՄܽͳج൫ͱͳΓ·͢ɻ
ߏཁૉೳྗ ιϑτΣΞߏཧ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ ϏϧυϦϦʔε੍ޚ ϓϩηε੍ޚ Work Products ։ൃνʔϜ ιϑτΣΞ։ൃɺνʔϜ׆ಈͰ͋Γɺ
ಉ࣌ฒྻ࡞ۀͰ͋Δ͜ͱΛΕͯͳΓ·ͤΜɻ
Agenda ֓ཁ ιϑτΣΞߏཧ ڱٛͱٛ ߏཁૉ पลߏ
पลߏ ιϑτΣΞߏཧ 1-3
पลߏ ιϑτΣΞߏཧ ϓϩηεͷجຊཁૉ αϙʔτγεςϜ
ϓϩηεͷجຊཁૉ ಈػߦಈ ਓׂ Ռ ϓϩηεͷجຊཁૉʹ͍ͭͯɺ 3BUJPOBM6OJGJFE1SPDFTTͰ໌จԽ͞Ε͍ͯ·͢ɻ
ޙߦఔ ಈػߦಈ ਓׂ Ռ ΞαΠϯ ࡞ۀ લߦఔ ϓϩηεͷࢹ
ಈػߦಈ ਓׂ Ռ ཧ༝ ࡞ۀ લߦఔ ޙߦఔ ཧ༝ ׂͷࢹ ࡞ۀऀͰ͋Δʮׂʯ͔ΒݟΔͱɺՌ
࡞ۀͷ݁ՌͰ͋ΓɺνʔϜͰڞ༗͢Δʹ ʮಈػʯ͚͕ͮඞཁͰ͢ɻ
ಈػߦಈ ਓׂ Ռ ޙߦఔ ࡞ۀऀ ཧ༝ Ռͷࢹ લߦఔ ՌͷࢹͰɺલޙؔಈػ͕ෆ͔֬ͱͳΔ͜ͱ͕ ଟ͋͘Γ·͢ɻ͜ΕɺιϑτΣΞߏཧ͚ͩͰΛ࣮ફ͢Δ
͜ͱͷ͠͞ͱݴ͍͑Δ͜ͱ͕Ͱ͖·͢ɻ
ಈػߦಈ ਓׂ Ռ લߦఔ ޙߦఔ ࡞ۀऀ ཧ༝ ڱٛͷ ιϑτΣΞߏཧͷࢹ ϓϩηεվળΛόʔδϣϯཧπʔϧͷಋೖ͚ͩͰ
ߦ͏έʔε͕ଟ͍Ͱ͕͢ɺ࣮ࠔͳΞϓϩʔνʹͳΔ ߹͕ଟ͍͜ͱ͓ͬͯ͘ͱΑ͍Ͱ͠ΐ͏ɻ
ޙߦఔ ಈػߦಈ ਓׂ Ռ ΞαΠϯ ࡞ۀ લߦఔ 7FSTJPO$POUSPM4ZTUFN *TTVF5SBDLJOH4ZTUFN αϙʔτγεςϜ
"VUPNBUFE#VJME
αϙʔτγεςϜ มߋґཔChange Requests ػೳՃόάվम ཁٻͷมߋ ཁٻόοΫϩά ιʔείʔυεΫϦϓτ ϏϧυՌύοέʔδ ϦϦʔε τϦΞʔδ
$$#มߋཧҕһձ ITS SCM CI
֬ೝ ֓ཁ ιϑτΣΞߏཧ ڱٛͱٛ ߏཁૉ पลߏ
ιϑτΣΞߏཧ ιϑτΣΞͷมߋΛ ίϯτϩʔϧ͠ଓ͚Δ͜ͱ ׂՌΛڮ͢͠Δ ຊདྷͷʹྗՄೳʹ
ߏཁૉೳྗ ιϑτΣΞߏཧ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ ϏϧυϦϦʔε੍ޚ ϓϩηε੍ޚ
มߋґཔChange Requests ػೳՃόάվम ཁٻͷมߋ ཁٻόοΫϩά ιʔείʔυεΫϦϓτ ϏϧυՌύοέʔδ ϦϦʔε τϦΞʔδ $$#มߋཧҕһձ
ITS SCM CI ෳࡶ͞ͷܰݮʹΑΓ͍ͭͰߏΛࣝผެ։Ͱ͖Δ͜ͱ
֓ཁ Agenda Έ ظʹԠ͑ΔιϑτΣΞ ιϑτΣΞߏཧ
֓ཁ Έ ಛͱதԝूதཧ ࢄཧ ಋೖࢦ Agenda ιϑτΣΞߏཧ
ಛ ιϑτΣΞߏཧγεςϜ 2-1
ಛ ιϑτΣΞߏཧγεςϜ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ ϏϧυϦϦʔε੍ޚ ϓϩηε੍ޚ ೳྗΛαϙʔτ͢ΔγεςϜ
ιϑτΣΞߏཧγεςϜ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ ϦϙδτϦ ࣝผͱ࠶ݱ ೳྗΛαϙʔτ͢ΔγεςϜ w Ռͷ֨ೲ w ՌͷόʔδϣϯԽ
w ՌߏؔͷόʔδϣϯԽ w ҆શͳՌͷࣝผ w ҆શͳՌͷऔಘͱߋ৽ w ҆શͳՌͷར༻ͱҾ͖͠ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ ಛ ϦϙδτϦ
ιϑτΣΞߏཧγεςϜ ϫʔΫεϖʔε੍ޚ ϦϙδτϦ ࣝผͱ࠶ݱ ೳྗΛαϙʔτ͢ΔγεςϜ w Ռͷ֨ೲ w ՌͷόʔδϣϯԽ w
ՌߏؔͷόʔδϣϯԽ w ҆શͳՌͷࣝผ w ҆શͳՌͷऔಘͱߋ৽ w ҆શͳՌͷར༻ͱҾ͖͠ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ όʔδϣϯ੍ޚ ಛ ϦϙδτϦ ্ॻ͖ͷ
ιϑτΣΞߏཧγεςϜ ϫʔΫεϖʔε੍ޚ ϦϙδτϦ ࣝผͱ࠶ݱ ೳྗΛαϙʔτ͢ΔγεςϜ w Ռͷ֨ೲ w ՌͷόʔδϣϯԽ w
ՌߏؔͷόʔδϣϯԽ w ҆શͳՌͷࣝผ w ҆શͳՌͷऔಘͱߋ৽ w ҆શͳՌͷར༻ͱҾ͖͠ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ όʔδϣϯ੍ޚ ಛ ϦϙδτϦ
ιϑτΣΞߏཧγεςϜ ϫʔΫεϖʔε੍ޚ ϦϙδτϦ ࣝผͱ࠶ݱ ೳྗΛαϙʔτ͢ΔγεςϜ w Ռͷ֨ೲ w ՌͷόʔδϣϯԽ w
ՌߏؔͷόʔδϣϯԽ w ҆શͳՌͷࣝผ w ҆શͳՌͷऔಘͱߋ৽ w ҆શͳՌͷར༻ͱҾ͖͠ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ όʔδϣϯ੍ޚ ಛ ϦϙδτϦ ࣗಈϏϧυʹͱͬͯ ϫʔΫεϖʔεॏཁͰ͢ɻ
ϫʔΫεϖʔε੍ޚ όʔδϣϯ੍ޚ νΣοΫΠϯίϛοτ νΣοΫΞτ ϒϥϯν Ϛʔδ ιϑτΣΞߏཧγεςϜ ೳྗΛαϙʔτ͢ΔγεςϜ ϦϙδτϦ w
Ռͷ֨ೲ w ՌͷόʔδϣϯԽ w ՌߏؔͷόʔδϣϯԽ όʔδϣϯ੍ޚ ࣝผͱ࠶ݱ w ҆શͳՌͷࣝผ w ҆શͳՌͷऔಘͱߋ৽ w ҆શͳՌͷར༻ͱҾ͖͠ ϫʔΫεϖʔε੍ޚ ಛ ϦϙδτϦ
ιϑτΣΞߏཧγεςϜ ϫʔΫεϖʔε੍ޚ ೳྗΛαϙʔτ͢ΔγεςϜ όʔδϣϯ੍ޚ ಛ ϏϧυϦϦʔε੍ޚ ͲͷόʔδϣϯͰߏ͞Ε͍ͯΔ͔ʁ Ͳ͏Ϗϧυ͔ͨ͠ʁ Ͳ͜ʹϦϦʔε͔ͨ͠ʁ ϏϧυͱϦϦʔε
ιʔείʔυͷࣝผͱ࠶ݱੑ͚ͩͰͳ͘ɺϏϧυͱϦϦʔεͷ ߏΛࣝผ͢Δ͜ͱ͋ΒΏΔιϑτΣΞʹͱͬͯॏཁͰ͢ɻ
ιϑτΣΞߏཧγεςϜ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ ϏϧυϦϦʔε੍ޚ ϓϩηε੍ޚ ೳྗΛαϙʔτ͢ΔγεςϜ ಛ w ҡ࣋ w
աͳଐਓੑͷഉআ w ϛεͱखؒͷܰݮ w ؆ૉԽ త w ϙϦγʔ w "$- w ࣄલ݅ w ࣄޙ݅ खஈ ϓϩηεͱϙϦγʔ ϓϩηεͱϙϦγʔɺϑΥʔϚϧͳ౷੍͚ͩͰ ͳ͘ɺਓҝతϛεͷܰݮɺۉ࣭ԽɺϧʔνϯϫʔΫͷ վળͱܰݮʹܨ͕ΔઓུతͳͷͰ͢ɻ
தԝूதཧ ιϑτΣΞߏཧγεςϜ 2-1
தԝूதཧ ιϑτΣΞߏཧγεςϜ ϫʔΫεϖʔε੍ޚ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ
தԝूதཧ ιϑτΣΞߏཧγεςϜ ϫʔΫεϖʔε੍ޚ όʔδϣϯ੍ޚ ϫʔΫεϖʔε੍ޚ ಛ w ୯ҰϦϙδτϦ w ཧͷूதԽ͕༰қ
w ੍ޚͷूதԽ͕༰қ w ৗʹϦϙδτϦʹଓ ྫ 4VCWFSTJPO 47/ c$MFBS$BTFc5'4 5'7$ πʔϧɺΦϯϓϨϛεͰͷՔಇ͕ଟ͍Ͱ͢ɻ ϗεςΟϯάαʔϏε͋Γ·͕͢ɺݶఆతͰ͢ɻ
֓ཁ Έ ಛͱதԝूதཧ ࢄཧ ಋೖࢦ Agenda ιϑτΣΞߏཧ
ࢄཧ %7$4 ιϑτΣΞߏཧγεςϜ 2-2
ࢄཧ %7$4 ιϑτΣΞߏཧγεςϜ remote local local local local local local
local local ϫʔΫεϖʔε ϦϙδτϦ ࢄ ϫʔΫεϖʔε
ࢄཧ %7$4 ιϑτΣΞߏཧγεςϜ remote local ϫʔΫεϖʔε ϦϙδτϦ ࢄ master bugfix
clone
ࢄཧ %7$4 ιϑτΣΞߏཧγεςϜ remote local ϫʔΫεϖʔε ϦϙδτϦ ࢄ master bugfix
master bugfix clone
ࢄཧ %7$4 ιϑτΣΞߏཧγεςϜ remote local ϫʔΫεϖʔε ϦϙδτϦ ࢄ master bugfix
master bugfix commit push
ࢄཧ %7$4 ιϑτΣΞߏཧγεςϜ remote local ϫʔΫεϖʔε ϦϙδτϦ ࢄ master bugfix
master bugfix commit push
ࢄཧ %7$4 ͷಛ ιϑτΣΞߏཧγεςϜ remote local ࢄϦϙδτϦ w SFNPUFͱ࡞ۀڥͷMPDBM͕͋Δ w
ϓϩηε੍ޚ͕ͮ͠Β͍ local master bugfix MPDBMϦϙδτϦ w ࡞ۀڥͰಠࣗʹόʔδϣϯཧͰ͖Δ w ӨڹΛ༩͑ͣʹ͜·ΊʹཤྺΛͤΔ w ෆඞཁͳཤྺ੍ޚͰ͖Δ w lͱ౷߹zΛݸผʹ੍ޚͰ͖Δ
ಛ w ࢄϦϙδτϦ w ཧͷࢄԽ͕༰қ w ੍ޚ͕ෳࡶ w ΦϑϥΠϯରԠ͕༰қ ྫ
(JUc.FSDVSJBM )( ࢄཧ %7$4 ͷಛ ιϑτΣΞߏཧγεςϜ remote local master bugfix master bugfix local local
֓ཁ Έ ಛͱதԝूதཧ ࢄཧ ಋೖࢦ Agenda ιϑτΣΞߏཧ
ಋೖͷࢦ ιϑτΣΞߏཧγεςϜ 2-3
ಋೖͷࢦ ιϑτΣΞߏཧγεςϜ 㾎 සൟͳมߋ͕͋Δ 5%%ͳͲ 㾎 ཧతʹࢄ͍ͯ͠Δ 㾎 Γ͕͠ར͘
㾎 ෳࡶͳϒϥϯνઓུ 㾎 ଞγεςϜͱͷ࿈ܞ 㾎 ιʔγϟϧίʔσΟϯά ࢄόʔδϣϯཧγεςϜ DVCS ͻͱͭͰͯ·Ε
ಋೖͷࢦ ιϑτΣΞߏཧγεςϜ 㾎 ؇͔ͳมߋ͕͋Δ 㾎 ৗʹϦϙδτϦʹଓͰ͖Δ 㾎 ݎ࣮Ͱެࣜͳߏཧ 㾎 ఆܕతͳϒϥϯνઓུ
㾎 ଞγεςϜ࿈ܞͷࣄ 㾎 ϝϯόʔͷख़ தԝूதόʔδϣϯཧγεςϜ CVCS ͯͯ͢·Ε
ಋೖͷࢦ ιϑτΣΞߏཧγεςϜ ࢄόʔδϣϯཧγεςϜ DVCS ΞδϟΠϧϓϥΫςΟε Ϟμϯϒϥϯνઓུ ٛͷιϑτΣΞߏཧ
ಋೖͷࢦ ιϑτΣΞߏཧγεςϜ ࢄόʔδϣϯཧγεςϜ DVCS ΞδϟΠϧϓϥΫςΟε ෮ ϑΟʔυόοΫ ಛɿ ϓϥΫςΟεͷྫɿ ςετۦಈ։ൃ
ܧଓతΠϯςάϨʔγϣϯ
ಋೖͷࢦ ιϑτΣΞߏཧγεςϜ ࢄόʔδϣϯཧγεςϜ DVCS Ϟμϯϒϥϯνઓུ HJUqPXɿ Develop Feature A master
Release Hotfix Feature B v 1.0 v 1.1 v 2.0 HJUGMPXɺϕετϓϥΫςΟεͷͻͱͭͯ͠ΒΕ ͍ͯ·͕͢ɺݱʹԠͯ͡ɺΑΓγϯϓϧͳӡӦΛ ͢Δ͜ͱ͕ॏཁͰ͢ɻෳࡶ͞ΛϒϥϯνͰ࡞Βͳ͍Α͏ʹɻ
ಋೖͷࢦ ιϑτΣΞߏཧγεςϜ ࢄόʔδϣϯཧγεςϜ 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ͳͲͷΦϯϓϨϛεՔಇ͋Γ·͢ɻ
ಋೖͷࢦ ιϑτΣΞߏཧγεςϜ ࢄόʔδϣϯཧγεςϜ DVCS ٛͷιϑτΣΞߏཧ SCM ITS CI มߋґཔ ػೳՃόάվम
ཁٻͷมߋ ཁٻ όοΫϩά ιʔείʔυ εΫϦϓτ ϏϧυՌ ύοέʔδ ϦϦʔε τϦΞʔδ $$#มߋཧҕһձ %7$4ʹରԠͨ͠*54 $*γεςϜ͕ɺ૿Ճ͠ ͍ͯΔʹ͋Γ·͢ɻ
ಋೖͷࢦ ιϑτΣΞߏཧγεςϜ ࢄόʔδϣϯཧγεςϜ DVCS มߋґཔ ػೳՃόάվम ཁٻͷมߋ ཁٻ όοΫϩά ιʔείʔυ
εΫϦϓτ ϏϧυՌ ύοέʔδ ϦϦʔε τϦΞʔδ $$#มߋཧҕһձ ITS SCM CI • JIRA • Redmine • Git • Mercurial • Jenkins • Bamboo • Circle CI
֓ཁ Έ ಛͱதԝूதཧ ࢄཧ ಋೖࢦ ιϑτΣΞߏཧ ֬ೝ
ಛʹॏཁͳΈ ιϑτΣΞߏཧγεςϜ ϦϙδτϦ w Ռͷ֨ೲ w ՌͷόʔδϣϯԽ w ՌߏؔͷόʔδϣϯԽ όʔδϣϯ੍ޚ
ࣝผͱ࠶ݱ w ҆શͳՌͷࣝผ w ҆શͳՌͷऔಘͱߋ৽ w ҆શͳՌͷར༻ͱҾ͖͠ ϫʔΫεϖʔε੍ޚ
தԝूதόʔδϣϯཧγεςϜ CVCS ͭͷ7$4 ιϑτΣΞߏཧγεςϜ remote local local local ࢄόʔδϣϯཧγεςϜ DVCS
Ϟμϯϒϥϯνઓུ ιϑτΣΞߏཧγεςϜ 1VMM3FRVFTU.PEFM (JU)VC'MPX ɿ Develop Feature A push remote
local Feature A Pull Request merge
֓ཁ Agenda Έ ظʹԠ͑ΔιϑτΣΞ ιϑτΣΞߏཧ
Έ ֓ཁ ظʹԠ͑ΔιϑτΣΞ ϏδωεͱιϑτΣΞ࣭ ੵۃతͳߏཧ Agenda ιϑτΣΞߏཧ
%FW0QT ϏδωεχʔζͱιϑτΣΞ࣭ 3-1
%FW0QT ϏδωεχʔζͱιϑτΣΞ࣭ Ϗδωε ։ൃ ӡ༻ Ϗδωεඪ ചΓ্͛རӹ Ϣʔβʔ ੜ࢈ੑՔಇ ϏδωεۦಈϜʔϒϝϯτ
։ൃɾӡ༻ͷͦΕͧΕͷϛογϣϯͱՁ؍ Ͱͳ͘ɺϏδωεඪͱ,1*ͷઓུతͳߩݙ Λܧଓతʹҙࣝ͢Δඞཁ͕͋Γ·͢ɻ
%FW0QT ϏδωεχʔζͱιϑτΣΞ࣭ Ϗδωε ϏδωεۦಈϜʔϒϝϯτ ։ൃ ӡ༻ Πϯγσϯτ มߋ ΞΠσΞόά
ίʔυ ϦϦʔε ϏδωεͷϦζϜcαΠΫϧλΠϜɾڞಉॴ༗ɾಁ໌ੑɾࣗಈԽলྗԽ ιϑτΣΞߏཧɺ։ൃͱӡ༻ͷڠௐ ͷͨΊͷใΠϯϑϥͱͯ͠ෆՄܽͱͳͬͯ ͖͍ͯ·͢ɻ
%FW0QT ϏδωεχʔζͱιϑτΣΞ࣭ ιϑτΣΞߏཧͷείʔϓͷ֦େ ։ൃ ӡ༻ Πϯγσϯτ มߋ ΞΠσΞόά ίʔυ
ϦϦʔε ϏδωεͷϦζϜcαΠΫϧλΠϜɾڞಉॴ༗ɾಁ໌ੑɾࣗಈԽলྗԽ ڞಉॴ༗ ։ൃίʔυ ӡ༻ίʔυ ( IaC ) *B$*OGSBTUSVDUVSFBT$PEFʹΑΓΠϯϑ ϥͷίʔυԽ͕ଅਐ͞ΕɺΞϓϦͱΠϯϑϥΛ౷ ੍ͩͯͯߏͰ͖ΔΑ͏ʹͳ͖ͬͯ·ͨ͠ɻ
%FW0QT ϏδωεχʔζͱιϑτΣΞ࣭ ιϑτΣΞߏཧͷείʔϓͷ֦େ ։ൃ ӡ༻ Πϯγσϯτ มߋ ΞΠσΞόά ίʔυ
ϦϦʔε ϏδωεͷϦζϜcαΠΫϧλΠϜɾڞಉॴ༗ɾಁ໌ੑɾࣗಈԽলྗԽ ڞಉॴ༗ ։ൃίʔυ ӡ༻ίʔυ ( IaC ) Ϗδωεχʔζ ϏδωεՁ ٛͷ4$.
Έ ֓ཁ ظʹԠ͑ΔιϑτΣΞ ϏδωεͱιϑτΣΞ࣭ ੵۃతͳߏཧ Agenda ιϑτΣΞߏཧ
ιϑτΣΞߏཧ ੵۃతͳ 3-2
ιϑτΣΞߏཧ ੵۃతͳ
Ռͱ࡞ۀͷෳࡶԽʹΑΓɺϝϯόʔ ϚωδϝϯτຊۀͰͳ͘ɺใऔूʹ࣌ؒΛ ͱΒΕΔ͕͋Γ·͢ɻ
ՌͷҰݩԽͱɺ*54ʹΑΔใ౷੍ ใ )VC ʹΑΓɺຊۀʹྗͰ͖Δڥ͕͍·͢ɻ
ΞΠσΞ ϏδωεՁ ίʔυ Ϗϧυ ಈ͘ιϑτΣΞ όοΫϩά ιϑτΣΞ։ൃʹ͓͚Δ ใͷฏқɺཻɺՁ؍͞·͟·Ͱ͢ɻ
ΞΠσΞ ϏδωεՁ ίʔυ Ϗϧυ ಈ͘ιϑτΣΞ όοΫϩά ITS ITS SCM CI
CI *54 4$.$*ʹΑΓใͷྲྀ௨Λ੍ޚ͠ɺ ιϑτΣΞ։ൃͷෳࡶΛܰݮ͠·͢ɻ 4$.͚ͩͰվળͰ͖ͳ͍Λҙ͠·͢ɻ
ΞΠσΞ ϏδωεՁ ίʔυ όοΫϩά λεΫ ιϑτΣΞߏཧෆՄܽͰ͕͢ɺ ͦΕ͚ͩͰͳɺίϛϡχέʔγϣϯͱ ίϥϘϨʔγϣϯʹෆ͍ͯ͠Δͱҙ͖͢Ͱ͢ɻ
ιϑτΣΞߏཧ ੵۃతͳ w'MPXPG7BMVF wڞಉॴ༗ wιʔγϟϧίʔσΟϯά ू߹ ʮ'MPXPG7BMVFʯͱɺΞΠσΞ͕ϏδωεՁʹͳΔ·ͰͷྲྀΕΛॏࢹ͖͢ͱ͍͏͜ͱͰ͢ɻ ֤ఔͰͷਐΑΓɺՁΛσϦόϦʔͰ͖͔ͨʹॏ͖Λஔ͖·͢ɻ ʮιʔγϟϧίʔσΟϯάʯɺϑΥʔϚϧͳߏཧΑΓɺݟʹऩूͱվળೳྗʹظ͢ΔΞϓϩʔνͰ ΦʔϓϯιʔεϓϩδΣΫτͰ࣮ફ͞Ε͍ͯΔΓํͰ͢ɻ͜ͷΓํʹΑΓɺ৽ٕज़ཁٻ͕ݻ·Γʹ͍͘
ιϑτΣΞ։ൃͰɺೳྗΛ࠷େԽͰ͖Δ͜ͱ͕ظ͞Ε͍ͯ·͢ɻ
Έ ֓ཁ ظʹԠ͑ΔιϑτΣΞ ϏδωεͱιϑτΣΞ࣭ ੵۃతͳߏཧ ιϑτΣΞߏཧ ֬ೝ
%FW0QT ϏδωεχʔζͱιϑτΣΞ࣭ ιϑτΣΞߏཧͷείʔϓͷ֦େ ։ൃ ӡ༻ Πϯγσϯτ มߋ ΞΠσΞόά ίʔυ
ϦϦʔε ϏδωεͷϦζϜcαΠΫϧλΠϜɾڞಉॴ༗ɾಁ໌ੑɾࣗಈԽলྗԽ ։ൃίʔυ ӡ༻ίʔυ ( IaC ) Ϗδωεχʔζ ϏδωεՁ ٛͷ4$.
·ͱΊ ֓ཁ Έ ظʹԠ͑ΔιϑτΣΞ ιϑτΣΞߏཧ
Thank you! Tomoharu Nagasawa • Senior Evangelist • Atlassian •
@tnagasawa ແྉͰߨԋݱ๚ͷ͝ґཔΛঝΓ·͢ɻ ͓ؾܰʹɺ͝࿈བྷ͍ͩ͘͞ɻ FNBJMUOBHBTBXB!BUMBTTJBODPN