Bamboo 1.0 Pre-sales presentation (March, 2007)
Continuous Integration Typical development: design, develop, unit test, integrate, deploy Typical development: design, develop, unit test, integrate, deploy Problem is that the “integrate” stage is always problematic Problem is that the “integrate” stage is always problematic By “continuously” integrating, these problems are removed. By “continuously” integrating, these problems are removed.
Continuous Integration Benefits: Benefits: Faster feedback - if something breaks, you know about it straight awayFaster feedback - if something breaks, you know about it straight away Easier to find problems - as you know about it straight awayEasier to find problems - as you know about it straight away Awareness of status – you always know what the state of your software is at every point in time.Awareness of status – you always know what the state of your software is at every point in time.
Bamboo – Winning features Build Telemetry – Build Telemetry – “See the forest for the trees” – Mark C Intelligent linkage of build information across time to identify particular insights and trends about your projectIntelligent linkage of build information across time to identify particular insights and trends about your project Reporting across build plans / authors to review and compare metricsReporting across build plans / authors to review and compare metrics Easy to setup – no mucking around with setup files Easy to setup – no mucking around with setup files Extensibility – plugin system allows you to do more than the basics Extensibility – plugin system allows you to do more than the basics
Bamboo – Key Concepts ConceptDefinitionExample Project The software or piece of work Confluence Build Plan Defines one way in which the software can be built. HEAD, JDK1.4 Build (Build result) The result after one execution after one build of the software Confluence, HEAD branch, on JDK1.4, Build #263
Bamboo – Key Concepts (cont’d) ConceptDefinitionExample Repository The location in which source code for the project is held. (Defined by plan) Supports: Subversion, CVS, Perforce n.com/svn/private/ atlassian/bamboo n.com/svn/private/ atlassian/bamboo Builder The software tool external to Bamboo which is responsible to run the build. (Defined by plan) Supports: Maven, Maven2, Ant, Scripts Maven 2
Bamboo – Key Concepts ConceptDefinitionExample Author The person who makes the change to the code edwin.wong Notification Communication sent by Bamboo to stakeholders about a build (result) Supports: IM (Jabber, GTalk), IM – Build Successful
Bamboo Demo Install Bamboo and start Bamboo. Install Bamboo and start Bamboo. Create plan Create plan Commit with failure Commit with failure See notification See notification Commit with success Commit with success See notification See notification Look at Keg reports. Look at Keg reports.
Bamboo – Commonly asked for features (that we don’t have) Distributed builds – build across many machines Distributed builds – build across many machines Build promotion – code gets “committed” to the source repository until it is green Build promotion – code gets “committed” to the source repository until it is green Extended support for Extended support for Repositories: ClearCase, Borland StarteamRepositories: ClearCase, Borland Starteam Test Frameworks: NUnitTest Frameworks: NUnit Additional post-build analysis: Cobetura, EmmaAdditional post-build analysis: Cobetura, Emma
Bamboo – Upcoming big features Improving notifications Improving notifications Adding extensibility (e.g. make repositories pluggable). Adding extensibility (e.g. make repositories pluggable). Distributed builds Distributed builds A complete customizable workflow engine. A complete customizable workflow engine.