3. Reliable delivery of software
Faster time to market
How do different development streams…
Trunk
Team Pink
Team Green
How do I
manage my
codebase?
4. Reliable delivery of software
Faster time to market
How do different development
streams…integrate…
Trunk
Merging Team
Pink’s
Repository
Branch
Merging Team
Green’s
Repository Branch
1 1 1 111
2 2 2 2 2
3
3 3
4 4
5
1
2
3
4
1
2
3
1
2
1
How do I
manage my
codebase?
5. Reliable delivery of software
Faster time to market
Without the merge conflicts of feature-
branching?
Trunk
1 1 1 111
2 2 2 2 2
3
3 3
4 4
5
1
2
3
4
1
2
3
1
2
1
2
3
4
1
1
23
4
5
How do I
manage my
codebase?
6. Reliable delivery of software
By Continuously Integrating
Trunk
Faster time to market
3 4 5
2
1
1 2 3 4
2 3 41 1
2
3 4 5
How do I
manage my
codebase?
7. Some key CI practicesHow do I
manage my
codebase?
Everyone commits to trunk at least daily
Automated tests are run for every commit
Avoid branches
http://martinfowler.com/articles/continuousIntegration.html
11. Using Feature TogglesHow do I
release
incomplete
work? [featureToggles]
wobblyFoobars: true
flightyForkHandles: false
<toggle name=wobblyFoobars>
... various UI elements
</toggle>
forkHandle = (featureConfig.isOn(‘flightlyForkHandles)) ?
new FlightyForkHander(aCandle) :
new ForkHandler(aCandle)
Config File
some.jsp
other.java
12. Using Branch by AbstractionHow do I
release
incomplete
work?
Application
Library
New
Library
http://paulhammant.com/blog/branch_by_abstraction.html/
13. Using Branch by AbstractionHow do I
release
incomplete
work?
Application
Library
New
Library
Interface
14. Using Branch by AbstractionHow do I
release
incomplete
work?
Application
Library
New
Library
Interface Implements
15. Using Branch by AbstractionHow do I
release
incomplete
work?
Application
New
Library
Interface Implements
16. Using Branch by AbstractionHow do I
release
incomplete
work?
Application
New
Library
18. LEARN MORE
Deploy a great product faster.
Agile teams deliver working software early and
often.
Go automates and streamlines the build-test-
release cycle for worry-free, continuous delivery
of your product.
Share this ebook.
Visit our Continuous Delivery Channel for more
posts like this.