Weitere ähnliche Inhalte Ähnlich wie Monster Builds and How to Tame Them - Atlassian Summit 2010 (20) Kürzlich hochgeladen (20) Monster Builds and How to Tame Them - Atlassian Summit 20101. Monster Builds
and How to Tame Them
Chris Mountford
chris@atlassian.com
1
3. Truck Build
Small
Monster
x
you
are
here
3
4. The Monster Build Threat
• Shipping
• Unit Testing
• Integration Testing
• Functional Testing
• Selenium Testing
• Synergy Harnessing
4
8. Poland
Hosted
Just JIRA Plugins
Multi
8
9. Poland
Hosted
Just JIRA Plugins
Multi
9
11. Build Duration
• release build took 30-60 CPU hours
• supported platform matrix combinations
• 3.5 hour functional test runs
JIRA
11
12. Long Builds Cause Low Velocity
• Context switching overhead
• Task entanglement
• Build breakage confusion
• Agile?
12
14. Taming Monster Build Times
•optimization
•matrix culling
•maximize test power
•minimize wait time
14
19. Example: JIRA Matrix Culling
• user based editions
• dropped ancient app servers
• dropped java 1.4
• release down to 18 hours
19
25. Herb Sutter http://www.gotw.ca/publications/concurrency-ddj.htm
25
29. Parallelism
time
agent
Checkout,
Compile Testing
29
30. time
Parallelism
agent
agent
agent
agent
agent
agent
agent
Checkout, Testing
agent
Compileagent
agent
agent
30
33. Inelegant Yet Working
• parametrize your test suite:
• number of batches
• current batch number
• make the suite only run subset of tests in the
requested batch
33
40. svn
maven 2
nfs
repo
release
maven 1
build
proxy
agent
JIRA
license
internet
server
test db bamboo
java
blogs
40
50. Monster Counter-tactics
• measure, optimize, measure
• use power to wait ratio
• elastic parallelization
• canary builds measure reliability
• careful tool evaluation
50