Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
NDC 2013 DVCS와 코드리뷰, 자동화를 통한 쾌속개발
Search
reinkim
April 25, 2013
Programming
4.9k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
NDC 2013 DVCS와 코드리뷰, 자동화를 통한 쾌속개발
reinkim
April 25, 2013
More Decks by reinkim
See All by reinkim
NDC 2014: 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기
reinkim
3
3.2k
모바일 게임용 PaaS/BaaS 구현사례와 디자인 트레이드오프
reinkim
5
3.2k
Other Decks in Programming
See All in Programming
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
3
510
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.2k
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
130
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
1k
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
5
4k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
820
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
510
GraphQL の onError と Nullability のこれから
quramy
0
110
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
170
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
440
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
120
Featured
See All Featured
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Design in an AI World
tapps
1
360
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
My Coaching Mixtape
mlcsv
0
360
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Making the Leap to Tech Lead
cromwellryan
135
10k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Docker and Python
trallard
47
4.2k
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
What's in a price? How to price your products and services
michaelherold
247
13k
Transcript
%7$4৬ܻ٘࠭ ӒܻҊزചܳాೠ ࣘѐߊ ӣ SFJO!VQOMPSH
ߊࣗѐ ࣗਝযূפয _ূॿࣗѱࢲߡѐߊ _֏टܻইѱࢲ࠺झ"1*ѐߊ _ ੌҗஂ۽$ 1ZUIPO۽Ӓې߁ਸפ
ਵ۽ ࡅܰѱ ѐߊೞҊर
ߡӒח ਵݶ જѷ
ߡӒܳח ۴ೠ ߑߨ
పझ ب ѐߊ
ਬӝמాపझ۽ߡӒח࠺ਯ Not Detected 27% Detected by Test 73% 4PVSDF$PEF$PNQMFUF
ޖਸ ؊ೞݶ ബҗੌө
٣ੋܻ٘࠭۽ߡӒח࠺ਯ Not Detected 11% Detected by Review 89% 4PVSDF$PEF$PNQMFUF
٘٣ੋਸ औѱ ܻ࠭ೞ۰ݶ
ױਤ۽ੌೠ
زച
ѐߏݡӝ
ѐߊ۽ࣁझ
٘ܳࢿೞҊࣗী֍ਸٸө 45f1cf55 a8d8323 6162b7e Bug #31 Topic #1 Topic #1-1
Review Server Build Server 1. push 2. build & test 3. verify Repository peer devs 4. review 5. commit dev
ࣗীח٘ܳѐߊജ҃ਵ۽ Repository Review Server 5. commit Development Servers Build Server
6. merge build Package Server 7. upload packages 8-a. deploy 8-b. deploy (devs. per se) 9. test 7. upload packages 7. upload packages
જ۽ࣁझܳ ਬبೞח بҳܳॳ
1VTI
7FSTJPODPOUSPMgit
সױਤgit topic-branch
ѐ߹ѐߊо #SBODIױਤ۽ ة݀ਵ۽ੌೞӝ
ӝמਸೠޘਵ۽ 45f1cf55 a8d8323 6162b7e Topic #2 Topic #1 Bug #31
Bug #47 Topic #2-1 Topic #1-1 ӝמೞաܳUPQJDCSBODI۽স
Push Review Server 45f1cf55 a8d8323 6162b7e Topic #2 Topic #1
Bug #31 Bug #47 Topic #2-1 Topic #1-1 push ٘সաݶܻ࠭ࢲߡ۽ࠁմ
#VJME5FTU 7FSJGZ
࠽٘ࠈزਵ۽࠽٘ ӝ҅оੜೞחੌӝ҅о
$POUJOVPVTCVJMEjenkins
Build, Test and Verify Modified Source Code Review Server Build
Server 2. build & test 3. verify push Builder VM Tester VM 2a. Build 2b. Run tests ழ݃7.ীࢲ࠽٘పझ೧ࢲഛੋೠ
పझ ࠽٘ೞҊաࢲ زਵ۽పझ
పझपಁ ۽ӒېݠоࣻೞҊ ӝ҅оపझ߈ࠂ
3FWJFX
࠽٘ࢲߡѨࢎܳాҗೞݶ ੋрܻ٘࠭ܳѢ
эݽৈࢲܻ٘࠭ 5FYU From https://commons.wikimedia.org/wiki/File:Meeting_room_for_working_groups.JPG
gerritਢীࢲܻ٘࠭
زܐܻ࠭ܳ߉Ҋ ೖ٘ߔীٮۄࣻೠ
45f1cf55 a8d8323 6162b7e PatchSet #1 Review Server Push patchset #1
git commit --amend 45f1cf55 a8d8323 6162b7e PatchSet #2 PatchSet #1
Review Server edit Push patchset #1 Push patchset #2
45f1cf55 a8d8323 6162b7e PatchSet #2 PatchSet #1 PatchSet #3 Review
Server edit edit Push patchset #1 Push patchset #2 Push patchset #3 git commit --amend ೖ٘ߔਸ߉Ҋࣻೠ٘ܳदܻ࠭
$PNNJU .FSHF#VJME
$PNNJU Review Server Repository review +2 5. commit review +1
review +2 ӛੋܻ࠭ೖ٘ߔਸ߉Ҋաݶࣗীcommit
ܻ٘࠭оդ٘ח ࢎਊೡࣻѱ࠽٘ೠ
ಁఃࢤࢿ merge build Versioned Package Private Package Server upload package
Versioned Package Versioned Package Reviewed Src Code Snapshot റীॳӝಞೞب۾ߡࠢੋಁఃܳࢤࢿ೧ࢲղࠁմ
6QMPBE1BDLBHFT %FQMPZ
࠽٘ೠಁఃܳ ߓನࢲߡীৢܽ
ߓನࢲߡಁఃҙܻदझమࢎਊ
1BDLBHJOHDebian Apt
৵ زച ࢎਊೞחۖಬ 04 য ীౠച ઓࢿܻ ߡҙܻ Ӕాઁ
۽ஸ۞ࢎࢸ QSJWBUF ࣗ ঐഐ೧द۽ਤৈࠗపझоמ ߓನࢸҙܻೞחోҗোزੜؽ
ಁఃܳৢܻݶ ѐߊࢲߡܳসؘೠ
%FQMPZ زചػ ߓನ߂সؘ
ৈ۞оߑߨഒਊ زചػߑߨਸݢॳݴ "QUಁఃਊ ࢲߡ߹ 1VQQFUࢸਊ ࣽରਵ۽ܻೡࠗ࠙ਊTIFMMTDSJQU Ӓېبউغݶ ࢎۈࣚਵ۽
5FTU
ѐߊࢲߡѐߊѐѐੋ ࢜ಁఃܳ ࢸೞҊపझೠ
ѐߊపझѐߏݡӝ
ॄࠁঋਵݶޅਸޙઁٜبইঠ
ߡӒоݶ ࠛಞ೧ࢲۄب ࡈܻ ࣻೞѱػ
ߡӒܳҊաࢲ द߈ࠂ
ۧѱ֙
ѐߊীࢎਊೞחبҳ
5PPMTPG5SBEF (JU +FOLJOT 9FO4FSWFS (FSSJU FNBJM*3$$BNQGJSF "15
(JU࠙ߡҙܻبҳ $POGMJDUܻ ࣘب ݆ਬܻ౭ ழޭפ౭ޙࢲ ҙܻস
5SFOET git, svn, perforce
$POGMJDUܻ
ਵ۽ੌೞӝীࢤӝחੌ r100 r101 r102 Repository User A r102 A1 A2
r102 B1 User B
$POGMJDUоߊࢤ೮ਸٸ r100 r101 r102 Repository B1' A1 A2 May cause
CONFLICTS r102 B1 User B 47/١ীࢶDPOGMJDUܳউਵ۽ܻೡࣻױহ
%7$4҃merge r101 r102 Repository merge A1 A2 B1 #ਵ۽غجইоࢲݻߣۄبददب೧ࠅࣻ
ࡅܰ TWOC[S৬ਬࢎIUUQUILPDIHJUIVCDPNXIZHJUJTCFUUFSHJUJTGBTU
ҙ۲بҳо݆
(JU)VC$MJFOU (JU)VCীࢲߓನೞח(6*DMJFOU 8JOEPXT.BD
4PVSDF5SFF "UMBTTJBOীࢲߓನೞח(6*DMJFOU 8JOEPXT.BD
ా҅दпച য়ۄੋࣗۄࢲ بҳٜܳ݅ӝоऔ
ా҅दпച BTBTFSWJDF ਬܐࢲ࠺झ۽۠Ѧোزೞӝب
ٜ݅যॳѢա $PNNJUदр࠙ನ
ޛۿ݅חѤইתפ
(JUਸॳӝ൨ٚ #JOBSZੌܻࣘب ٣۩ఠܻױਤ۽оઉয়חѪࠛо ٣झҕр ӂೠҙܻ ੌࠗחHFSSJUޖ݃दெસפ
+FOLJOT࠽٘ࢲߡ ۞Ӓੋনೞ (JUHFSSJUਗ एࢸࢎਊߨ ਢӝ߈ ࢎਊೞחҔ݆ইޙઁоࢤ ҂ਸٸ೧Ѿೞӝऔ Jenkins Project http://jenkins-ci.org
5SFOET Jenkins, CruiseControl
+FOLJOTEBTICPBSE 7.߹प೯࢚కହ 1SPKFDU߹࠽࢚٘ടହ
+FOLJOTܳਊ೧ࢲ ഛೞӝएਢ۠ূ٘ۢॳݴ 7.ٜਸTMBWFOPEFইܲ࠽٘সਸೠ ৈ۞TMBWFOPEFоਵݶزदীৈ۞ழਸܻೡ ࣻ ࠽٘పझഛੋਊب۽بॳҊ ܻ࠭оդ٘ܳಁఃೞחਊب۽بॵ
9FO4FSWFS࠽٘ജ҃ )ZQFSWJTPSܳझ݀۽ઁ যೞӝऔ 7.ࢤࢿઁࢎਊزച 04ਊب߹7.మ݁ਸળ ࠺ೞҊࢎਊೞӝрಞ ࢿמ Xen Project http://xen.org
эജ҃ীࢲ࠽٘ೡࣻب۾ 9FOӝ߈7.ࢎਊ
&YBNQMF#VJMETDSJQU #
&YBNQMF#VJMETDSJQU #
&YBNQMF#VJMETDSJQU #
(FSSJUܻ٘࠭بҳ ਢӝ߈ܻ࠭6* সߑधࢶఖоמ زചೞӝए HJUױࠁ৮ ழޭפ౭ޙࢲച ࢿמ Gerrit Code Review
http;//gerrit.googlecode.com
5SFOET gerrit, Crucible, ReviewBoard
ਢಕউীࢲ ܻ٘࠭೧ࠁӝ
HFSSJUoverview ܻ࠭ੋղܻ٘࠭ೡܻ٘࠭৮ܐػղ٘ݾ۾
HFSSJUdiff. view ߸҃ࢎ೦ਸೞաঀѨషೞݶࢲীೠѼਸઁदೠ
HFSSJUreview-vote ࣗী֍ਸ Ѽਸٜਸ ୶оসೡ
(FSSJUਸॄࢲ ౠHJUসܴਬبೞӝ
HJUnon-linear history ҭࠂೠѐߊ۱ਸࠁѱؼࣻب
HJU HFSSJUlinear history TWOQFSGPSDFীࢲࠅࣻחੌࢶ۱ਸъઁೡࣻ
ҙܻزചಞ HFSSJUೞաоHJU TTI SFWJFXಕܳҳز ۽ં࠳ے߹ӂೠҙܻ ࢿמഋࢎীࢸغযపझ BOESPJE FDMJQTF MJCSFPGGJDF
৻ࠗبҳٜܳ݅ӝਤೠ3&45GVM"1*ઁҕ
"15ಁఃҙܻदझమ %FCJBO-JOVY6CVOUVӝ ࠄಁఃҙܻ ߧਊࢿ݆ޙࢲ ࢎࢸࢲߡ ঐഐ೧दܳਊೠޖѾ ࢿѨૐ ߓನࢲߡחױࣽਢࢲߡ Debian Project
http://debian.org
ઓࢿ ߡҙܻ ಁఃݒפೡ ࣗझҙܻبҳܻ࠺ࠁܳਊೡࣻب ౠߡۄ࠳۞ܻܳॳݶ೧ߡਸਊೞب ۾ъઁ MJCGPP MJCCBS MJCCB[ పझࢲ࠺झೡٸ۠ઁೠਸਊ೧ࢲزച
ಁఃࣗࢲߡ ৻ࠗࣗоוܻݶղࠗࣗী۞ ৻ࠗীҕѐೞঋਸಁఃחٮ۽ ղࠗ ࢲ࠺झ ѐߊపझ۽؋࣌ജ҃ਸࣗ۽ҳ࠙ ਃীٮۄੋૐӝמਸ֍ӝب IUUQ T BVUI
GUQ T BVUI TTI
/PUJGJDBUJPO ழ࠽ܻ٘࠭ঌܿਊ স೯࢚ടਸ࠺زӝਵ ۽ঌইࠅࣻѱ ѪѪदب
/PUJGJDBUJPOFNBJM ݫदܳࠁղӝऔ HFSSJUKFOLJOTীࢲӝࠄ ਵ۽ਗ ҳࢿਗٜઃоחࠅѢۄ Ҋਸࣻ
/PUJGJDBUJPOFNBJM ۽Ӓܳթӝӝਤ೧FNBJMই࠳ܳॄঠೣ ޙݓਸঌইࠁӝ൨ٜ ࠈৈ۞ѐݶ ױߑೱ Ӓېࢲޥоܲߑߨਸॄࠁӝ۽
/PUJGJDBUJPO*3$ ߹بۄਃ ݫदࠁղחࠗ࠙োѾਸ ਬ೧ঠೣ ޅࠁմ ۽Ӓܳऔѱࠁ۰ݶ߄ࢲ ਃ HJUHFSSJUCPUਗؽ
/PUJGJDBUJPO$BNQGJSF ۄחӒրਢ ࠈ3&45GVM"1*ࢎਊ ޙݓਬ օ दрࣽ ۽Ӓ߂Ѩ࢝ӝמઁҕ ੌҕਬоए ਬܐࢲ࠺झ ডਘ
ੋ Copyright (c) 37 Signals
ਃড
ߡӒܳҊर Ӓࣻױੋܻ࠭ܳೞӝऔب۾
ܻ࠭оߣ೧ӝएפ ߑ೧ਃࣗܳ୭ೠੋ
HJUਸॄࢲੌਸଂѐࢲೞҊ
࠽٘పझزച۽ ࢎۈਃೠࠗ࠙ਸҊ
Ӕೞӝऔѱਢীࢲ ܻ٘ܳ࠭ೡࣻѱೞҊ
ܻ࠭ীࢲޅחࠗ࠙ਸਤ೧ ѐߏݡӝపझ
Q & A