trunk based development (cbsoft 2011)
DESCRIPTION
TRANSCRIPT
![Page 1: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/1.jpg)
ExplorandoExplorando o o ExplorandoExplorando o o
Trunk Based DevelopmentTrunk Based Development
Daniel Wildt
Trevisan Tecnologia
Guilherme Lacerda
FACENSA/UniRitter
TargetTrust/Surya Software Innovation
Carlos Lopes
ThoughtWorks
![Page 2: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/2.jpg)
agenda
O Problema
Impactos
Possíveis soluções
Quando usar branches?
![Page 3: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/3.jpg)
O problemaO problema
![Page 4: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/4.jpg)
Diferentes linhas de desenvolvimento,
mesma base de código
![Page 5: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/5.jpg)
![Page 6: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/6.jpg)
branches!branches!
![Page 7: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/7.jpg)
Ronald Widha
![Page 8: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/8.jpg)
![Page 9: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/9.jpg)
merge hell
![Page 10: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/10.jpg)
Conflito Sintático
class BlaBlaBla {
<<<<<<< HEAD<<<<<<< HEADpublic void bla(Bla oldBla, New newBla) {
oldBla.bla();newBla.newBla();
=======public void bla(Bla oldBla, Other otherBla) {
oldBla.bla();otherBla.otherBla();
>>>>>>> other commit}
}
![Page 11: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/11.jpg)
Conflito Semântico
class BlaBlaBla {
public void something(Bla bla) {public void something(Bla bla) {<<<<<<< HEAD
bla = bla.plus(14);=======
bla = bla.minus(7);>>>>>>> change
//other stuff}
}
![Page 12: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/12.jpg)
Conflitos de Integração
main.jsp: <%@include file="bla.jspf" %>
master: outroBranch:master:
new-file.jsp:<%@include file="bla.jspf" %>
outroBranch:
bla.jspf -> ble.jspf
main.jsp:<%@include file="ble.jspf" %>
![Page 13: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/13.jpg)
O Merge Man
![Page 14: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/14.jpg)
Integração Promíscua
Martin Fowler
![Page 15: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/15.jpg)
$$$$
![Page 16: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/16.jpg)
Jon Wolter
![Page 17: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/17.jpg)
RegressõesRegressões
![Page 18: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/18.jpg)
Jon Wolter
![Page 19: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/19.jpg)
Jon Wolter
![Page 20: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/20.jpg)
“The bigger the apparent
reason to branch, the
more you shouldn’t
branch.”
“The bigger the apparent
reason to branch, the
more you shouldn’t
branch.”
Jez Humble
![Page 21: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/21.jpg)
“don't separate differing
concerns by using a VCS, use concerns by using a VCS, use
an abstraction instead.”
Stacy Curl
![Page 22: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/22.jpg)
branches por
controle de código?controle de código?
![Page 23: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/23.jpg)
![Page 24: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/24.jpg)
Estratégias
![Page 25: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/25.jpg)
Feature Toggles
![Page 26: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/26.jpg)
Branch By AbstractionBranch By Abstraction
![Page 27: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/27.jpg)
big bang
Paul Hammant
![Page 28: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/28.jpg)
iterativo
Paul Hammant
![Page 29: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/29.jpg)
Mudanças pequenas
Releases frequentes
![Page 30: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/30.jpg)
Componentes
![Page 31: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/31.jpg)
![Page 32: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/32.jpg)
![Page 33: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/33.jpg)
InfluênciaInfluência do Product do Product
Owner/ChampionOwner/Champion
![Page 34: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/34.jpg)
Uncle Bob
![Page 35: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/35.jpg)
Quando criar branches?
Grande mudanças
Spikes
Novo release
![Page 36: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/36.jpg)
Quando criar branches?
Grande mudanças
Spikes
Novo release
![Page 37: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/37.jpg)
Quando criar branches?
Grande mudanças
Spikes
Novo release
![Page 38: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/38.jpg)
Paul Hammant
![Page 39: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/39.jpg)
www.codingbyexample.org
Mais Informações
www.codingbyexample.org
![Page 40: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/40.jpg)
Obrigado!
![Page 41: Trunk Based Development (CBSoft 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042813/5496770dac7959042e8b50eb/html5/thumbnails/41.jpg)