SlideShare a Scribd company logo
1 of 46
Download to read offline
 
Extreme CI Savings with Bamboo 3.1
The Story… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Where were we for CI? Compile 11,000 Junit Tests 3000 Functional Tests Deploy JIRA Artifacts Minimum 8 Hours in Serial
Where were we for CI? Compile 11,000 Junit Tests 3000 Functional Tests Deploy JIRA Artifacts We had to break things up
Where were we for CI? Test 1 SCM Trigger Test 6 Test 11 Test 2 Test 7 Test 12 Test 3 Test 8 Test 13 Test 4 Test 9 Test 5 Test 10 Test 14 Test 15
We still had to…. Compile 11,000 Junit Tests 3000 Functional Tests Deploy JIRA Artifacts Minimum 8 Hours in Serial
Unable to Aggregate Results 15 builds with 15 results Test 1 SCM Trigger Test 6 Test 11 Test 2 Test 7 Test 12 Test 3 Test 8 Test 13 Test 4 Test 9 Test 5 Test 10 Test 14 Test 15 ? ? ? ? ?
Old JIRA Release Build Compile 11,000 Junit Tests 3000 Functional Standalone 3000 Functional War 3000 Functional Windows 3000 Functional Source 23 HOURS 1 Build ,[object Object],[object Object],[object Object]
What do we want? ,[object Object],[object Object],[object Object],[object Object]
What do we want? ,[object Object],[object Object],[object Object],[object Object]
What do we want? ,[object Object],[object Object],[object Object],[object Object]
What do we want? ,[object Object],[object Object],[object Object],[object Object]
JIRA CI Design Goals Functional Tests Selenium Web Browser Tests Performance Tests Database Tests Supported Plugins Tests Inner Loop CI Outer Loop CI Distribution Tests
CI Feeds Release Validation ,[object Object],JIRA Outer Loop CI Validation
Outer Loop CI for Release ,[object Object],[object Object]
Seems like a mountain of tests to climb and is out of reach
But we have Bamboo 3.1!
Stages Job 1 Job 2 Job 3 Job 4 Job 5 Job 6 Job 7 Job 8 Job 9
Stages transforms our old CI 15 builds with 15 results Test 1 SCM Trigger Test 6 Test 11 Test 2 Test 7 Test 12 Test 3 Test 8 Test 13 Test 4 Test 9 Test 5 Test 10 Test 14 Test 15
We still had to…. Compile 11,000 Junit Tests 3000 Functional Tests Deploy JIRA Artifacts Minimum 8 Hours in Serial
Stages transforms our old CI 15 builds with 15 results Test 1 SCM Trigger Test 3 Test 11 Test 2 Test 7 Test 12 Test 3 Test 8 Test 13 Test 4 Test 9 Test 5 Test 10 Test 14 Test 15 1 build 15 jobs 1 result
New CI Plan: Add a Stage Test 1 Test 3 Test 11 Test 2 Test 7 Test 12 Test 3 Test 8 Test 13 Test 4 Test 9 Test 5 Test 10 Test 14 Test 15 Deploy Artifacts to Maven Nexus Repository Continue to Next Stage if Previous Passes One Build Plan
JIRA CI as a Producer ,[object Object],Maven Deploy Studio JIRA Integration Greenhopper Plugin Deploy JIRA to Test Server Distro, Perf, DB Tests Nexus Maven Repository Consumers depend on Maven Deploy
JIRA CI: From 8 hours to… Stages
JIRA Release from 23 hours… Stages
Stages ,[object Object],[object Object],[object Object],[object Object]
Artifact Passing Produce Artifact Consumer 1 Consumer 2 Consumer 3 Copies original artifact
Extreme CI Savings with Bamboo 3.1: The JIRA Story
Remove Redundancies Test 1 Test 3 Test 11 Test 2 Test 7 Test 12 Test 3 Test 8 Test 13 Test 4 Test 9 Test 5 Test 10 Test 14 Test 15 Produce Application Artifacts
How does it work? ,[object Object],[object Object],[object Object]
Extreme CI Savings with Bamboo 3.1: The JIRA Story
Extreme CI Savings with Bamboo 3.1: The JIRA Story
Maven Plumbing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Maven Plumbing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The New Selenium CI Plan
Multi Module Application Module 1 Distribution Deploy to Test Server 1 Deploy to Test Server 2 Module 2 Module 3 Module 4
Artifact Passing ,[object Object],[object Object],[object Object]
The Build Infrastructure ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Extreme CI Savings with Bamboo 3.1: The JIRA Story
JIRA development cost for using Amazon? $4000 per month!!!
Bamboo 3.1 Saves you Money! Configurable spot price bids
Linux Spot Instance Windows Regular Instance Windows Spot Instance
What is this worth to JIRA? $2000 per month!!!
Our CI Future Infrastructure Improvements DVCS Bamboo upgrade from 3.0 to 3.1.1: Tasks Personal Builds Bamboo 3.2 Amazon enhancements Bamboo 3.2 restart failed tasks
The Story… JIRA CI Past Problems Slow, unreliable Created New CI Goals Faster promotional CI Bamboo Staging Aggregated Results, Deployment Bamboo Artifact Passing Speed, Re-use, Deployment Outsourcing Infrastructure Amazon, Admin, Attractive Pricing Deliver Awesome

More Related Content

What's hot

DevOps - Its just Agile done right
DevOps - Its just Agile done rightDevOps - Its just Agile done right
DevOps - Its just Agile done rightTomas Riha
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applicationsSunil Dalal
 
Continuous Integration Testing: Fully test your microservices application, ea...
Continuous Integration Testing: Fully test your microservices application, ea...Continuous Integration Testing: Fully test your microservices application, ea...
Continuous Integration Testing: Fully test your microservices application, ea...David Stanke
 
Continuous integration testing 2019 08
Continuous integration testing 2019 08Continuous integration testing 2019 08
Continuous integration testing 2019 08David Stanke
 
Continuous Delivery Agile Tour Beirut 2015
Continuous Delivery Agile Tour Beirut 2015Continuous Delivery Agile Tour Beirut 2015
Continuous Delivery Agile Tour Beirut 2015Dimitri Baeli
 
Simple tools to fight bigger quality battle
Simple tools to fight bigger quality battleSimple tools to fight bigger quality battle
Simple tools to fight bigger quality battleAnand Ramdeo
 
Decoupling react native test framework
Decoupling react native test frameworkDecoupling react native test framework
Decoupling react native test frameworkDipti Roy
 
AltConf 2017: Full Stack Swift in 30 Minutes
AltConf 2017: Full Stack Swift in 30 MinutesAltConf 2017: Full Stack Swift in 30 Minutes
AltConf 2017: Full Stack Swift in 30 MinutesChris Bailey
 
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...Skills Matter
 
CI/CD 101
CI/CD 101CI/CD 101
CI/CD 101djdule
 
Succesful testing-continuous-delivery-testnet
Succesful testing-continuous-delivery-testnetSuccesful testing-continuous-delivery-testnet
Succesful testing-continuous-delivery-testnetHarald Rietman
 
Test Gap Analysis and regression minimization with Drill4j. Observability on ...
Test Gap Analysis and regression minimization with Drill4j. Observability on ...Test Gap Analysis and regression minimization with Drill4j. Observability on ...
Test Gap Analysis and regression minimization with Drill4j. Observability on ...Dmitriy Gumeniuk
 
Trust Your Pipeline - Automatically Testing and End-to-End Java Application
Trust Your Pipeline - Automatically Testing and End-to-End Java ApplicationTrust Your Pipeline - Automatically Testing and End-to-End Java Application
Trust Your Pipeline - Automatically Testing and End-to-End Java ApplicationElias Nogueira
 
Delivery pipelines at Symphony Talent - Present and Future
Delivery pipelines at Symphony Talent - Present and FutureDelivery pipelines at Symphony Talent - Present and Future
Delivery pipelines at Symphony Talent - Present and FutureNathan Jones
 
Modern software testing and processes 2019
Modern software testing and processes 2019Modern software testing and processes 2019
Modern software testing and processes 2019Karim Fanadka
 
A Ci Experience
A Ci ExperienceA Ci Experience
A Ci ExperienceUmut IŞIK
 
Pragmatic Continuous Delivery - ReaktorDevDay 2012
Pragmatic Continuous Delivery - ReaktorDevDay 2012Pragmatic Continuous Delivery - ReaktorDevDay 2012
Pragmatic Continuous Delivery - ReaktorDevDay 2012Neeme Praks
 

What's hot (19)

DevOps - Its just Agile done right
DevOps - Its just Agile done rightDevOps - Its just Agile done right
DevOps - Its just Agile done right
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
 
Continuous Integration Testing: Fully test your microservices application, ea...
Continuous Integration Testing: Fully test your microservices application, ea...Continuous Integration Testing: Fully test your microservices application, ea...
Continuous Integration Testing: Fully test your microservices application, ea...
 
Continuous integration testing 2019 08
Continuous integration testing 2019 08Continuous integration testing 2019 08
Continuous integration testing 2019 08
 
Continuous Delivery Agile Tour Beirut 2015
Continuous Delivery Agile Tour Beirut 2015Continuous Delivery Agile Tour Beirut 2015
Continuous Delivery Agile Tour Beirut 2015
 
Simple tools to fight bigger quality battle
Simple tools to fight bigger quality battleSimple tools to fight bigger quality battle
Simple tools to fight bigger quality battle
 
True Git
True Git True Git
True Git
 
Decoupling react native test framework
Decoupling react native test frameworkDecoupling react native test framework
Decoupling react native test framework
 
AltConf 2017: Full Stack Swift in 30 Minutes
AltConf 2017: Full Stack Swift in 30 MinutesAltConf 2017: Full Stack Swift in 30 Minutes
AltConf 2017: Full Stack Swift in 30 Minutes
 
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
 
CI/CD 101
CI/CD 101CI/CD 101
CI/CD 101
 
2 Epic Migrations at Flo:
2 Epic Migrations at Flo:2 Epic Migrations at Flo:
2 Epic Migrations at Flo:
 
Succesful testing-continuous-delivery-testnet
Succesful testing-continuous-delivery-testnetSuccesful testing-continuous-delivery-testnet
Succesful testing-continuous-delivery-testnet
 
Test Gap Analysis and regression minimization with Drill4j. Observability on ...
Test Gap Analysis and regression minimization with Drill4j. Observability on ...Test Gap Analysis and regression minimization with Drill4j. Observability on ...
Test Gap Analysis and regression minimization with Drill4j. Observability on ...
 
Trust Your Pipeline - Automatically Testing and End-to-End Java Application
Trust Your Pipeline - Automatically Testing and End-to-End Java ApplicationTrust Your Pipeline - Automatically Testing and End-to-End Java Application
Trust Your Pipeline - Automatically Testing and End-to-End Java Application
 
Delivery pipelines at Symphony Talent - Present and Future
Delivery pipelines at Symphony Talent - Present and FutureDelivery pipelines at Symphony Talent - Present and Future
Delivery pipelines at Symphony Talent - Present and Future
 
Modern software testing and processes 2019
Modern software testing and processes 2019Modern software testing and processes 2019
Modern software testing and processes 2019
 
A Ci Experience
A Ci ExperienceA Ci Experience
A Ci Experience
 
Pragmatic Continuous Delivery - ReaktorDevDay 2012
Pragmatic Continuous Delivery - ReaktorDevDay 2012Pragmatic Continuous Delivery - ReaktorDevDay 2012
Pragmatic Continuous Delivery - ReaktorDevDay 2012
 

Similar to Extreme CI Savings with Bamboo 3.1: The JIRA Story

Heavenly hell – automated tests at scale wojciech seliga
Heavenly hell – automated tests at scale   wojciech seligaHeavenly hell – automated tests at scale   wojciech seliga
Heavenly hell – automated tests at scale wojciech seligaAtlassian
 
CI Provisioning with OpenStack - Gidi Samuels - OpenStack Day Israel 2016
CI Provisioning with OpenStack - Gidi Samuels - OpenStack Day Israel 2016CI Provisioning with OpenStack - Gidi Samuels - OpenStack Day Israel 2016
CI Provisioning with OpenStack - Gidi Samuels - OpenStack Day Israel 2016Cloud Native Day Tel Aviv
 
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...Andreas Grabner
 
How to Build a Metrics-optimized Software Delivery Pipeline
How to Build a Metrics-optimized Software Delivery PipelineHow to Build a Metrics-optimized Software Delivery Pipeline
How to Build a Metrics-optimized Software Delivery PipelineDynatrace
 
Mobile User Experience: Auto Drive through Performance Metrics
Mobile User Experience:Auto Drive through Performance MetricsMobile User Experience:Auto Drive through Performance Metrics
Mobile User Experience: Auto Drive through Performance MetricsAndreas Grabner
 
the grinder testing certification
the grinder testing certificationthe grinder testing certification
the grinder testing certificationVskills
 
Continuous Integration for Spark Apps by Sean McIntyre
Continuous Integration for Spark Apps by Sean McIntyreContinuous Integration for Spark Apps by Sean McIntyre
Continuous Integration for Spark Apps by Sean McIntyreSpark Summit
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]Dynatrace
 
Battle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java ProjectBattle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java ProjectGlobalLogic Ukraine
 
Escaping Automated Test Hell - One Year Later
Escaping Automated Test Hell - One Year LaterEscaping Automated Test Hell - One Year Later
Escaping Automated Test Hell - One Year LaterWojciech Seliga
 
CI Implementation with Kubernetes at LivePerson by Saar Demri
CI Implementation with Kubernetes at LivePerson by Saar DemriCI Implementation with Kubernetes at LivePerson by Saar Demri
CI Implementation with Kubernetes at LivePerson by Saar DemriDoiT International
 
Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!Bram Adams
 
Cloudstack Continuous Delivery
Cloudstack Continuous DeliveryCloudstack Continuous Delivery
Cloudstack Continuous Deliverybuildacloud
 
Legacy On Premise Apps Got You Down? No Problem - DevOps for All
Legacy On Premise Apps Got You Down? No Problem - DevOps for AllLegacy On Premise Apps Got You Down? No Problem - DevOps for All
Legacy On Premise Apps Got You Down? No Problem - DevOps for AllMuly Gottlieb
 
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysOur DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysDynatrace
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsSOASTA
 
From Sage 500 to 1000 ... Performance Testing myths exposed
From Sage 500 to 1000 ... Performance Testing myths exposedFrom Sage 500 to 1000 ... Performance Testing myths exposed
From Sage 500 to 1000 ... Performance Testing myths exposedTrust IV Ltd
 
Cloud Native Serverless Java — Orkhan Gasimov
Cloud Native Serverless Java — Orkhan GasimovCloud Native Serverless Java — Orkhan Gasimov
Cloud Native Serverless Java — Orkhan GasimovGlobalLogic Ukraine
 
Practical Patterns for Developing a Cross-product Cross-version App
Practical Patterns for Developing a Cross-product Cross-version AppPractical Patterns for Developing a Cross-product Cross-version App
Practical Patterns for Developing a Cross-product Cross-version AppAtlassian
 
Efficient mobile automation
Efficient mobile automationEfficient mobile automation
Efficient mobile automationVitaly Tatarinov
 

Similar to Extreme CI Savings with Bamboo 3.1: The JIRA Story (20)

Heavenly hell – automated tests at scale wojciech seliga
Heavenly hell – automated tests at scale   wojciech seligaHeavenly hell – automated tests at scale   wojciech seliga
Heavenly hell – automated tests at scale wojciech seliga
 
CI Provisioning with OpenStack - Gidi Samuels - OpenStack Day Israel 2016
CI Provisioning with OpenStack - Gidi Samuels - OpenStack Day Israel 2016CI Provisioning with OpenStack - Gidi Samuels - OpenStack Day Israel 2016
CI Provisioning with OpenStack - Gidi Samuels - OpenStack Day Israel 2016
 
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
 
How to Build a Metrics-optimized Software Delivery Pipeline
How to Build a Metrics-optimized Software Delivery PipelineHow to Build a Metrics-optimized Software Delivery Pipeline
How to Build a Metrics-optimized Software Delivery Pipeline
 
Mobile User Experience: Auto Drive through Performance Metrics
Mobile User Experience:Auto Drive through Performance MetricsMobile User Experience:Auto Drive through Performance Metrics
Mobile User Experience: Auto Drive through Performance Metrics
 
the grinder testing certification
the grinder testing certificationthe grinder testing certification
the grinder testing certification
 
Continuous Integration for Spark Apps by Sean McIntyre
Continuous Integration for Spark Apps by Sean McIntyreContinuous Integration for Spark Apps by Sean McIntyre
Continuous Integration for Spark Apps by Sean McIntyre
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]
 
Battle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java ProjectBattle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java Project
 
Escaping Automated Test Hell - One Year Later
Escaping Automated Test Hell - One Year LaterEscaping Automated Test Hell - One Year Later
Escaping Automated Test Hell - One Year Later
 
CI Implementation with Kubernetes at LivePerson by Saar Demri
CI Implementation with Kubernetes at LivePerson by Saar DemriCI Implementation with Kubernetes at LivePerson by Saar Demri
CI Implementation with Kubernetes at LivePerson by Saar Demri
 
Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!
 
Cloudstack Continuous Delivery
Cloudstack Continuous DeliveryCloudstack Continuous Delivery
Cloudstack Continuous Delivery
 
Legacy On Premise Apps Got You Down? No Problem - DevOps for All
Legacy On Premise Apps Got You Down? No Problem - DevOps for AllLegacy On Premise Apps Got You Down? No Problem - DevOps for All
Legacy On Premise Apps Got You Down? No Problem - DevOps for All
 
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysOur DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
 
From Sage 500 to 1000 ... Performance Testing myths exposed
From Sage 500 to 1000 ... Performance Testing myths exposedFrom Sage 500 to 1000 ... Performance Testing myths exposed
From Sage 500 to 1000 ... Performance Testing myths exposed
 
Cloud Native Serverless Java — Orkhan Gasimov
Cloud Native Serverless Java — Orkhan GasimovCloud Native Serverless Java — Orkhan Gasimov
Cloud Native Serverless Java — Orkhan Gasimov
 
Practical Patterns for Developing a Cross-product Cross-version App
Practical Patterns for Developing a Cross-product Cross-version AppPractical Patterns for Developing a Cross-product Cross-version App
Practical Patterns for Developing a Cross-product Cross-version App
 
Efficient mobile automation
Efficient mobile automationEfficient mobile automation
Efficient mobile automation
 

More from Atlassian

International Women's Day 2020
International Women's Day 2020International Women's Day 2020
International Women's Day 2020Atlassian
 
10 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 202010 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 2020Atlassian
 
Forge App Showcase
Forge App ShowcaseForge App Showcase
Forge App ShowcaseAtlassian
 
Let's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UILet's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UIAtlassian
 
Meet the Forge Runtime
Meet the Forge RuntimeMeet the Forge Runtime
Meet the Forge RuntimeAtlassian
 
Forge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User ExperienceForge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User ExperienceAtlassian
 
Take Action with Forge Triggers
Take Action with Forge TriggersTake Action with Forge Triggers
Take Action with Forge TriggersAtlassian
 
Observability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeObservability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeAtlassian
 
Trusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy ModelTrusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy ModelAtlassian
 
Designing Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI SystemDesigning Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI SystemAtlassian
 
Forge: Under the Hood
Forge: Under the HoodForge: Under the Hood
Forge: Under the HoodAtlassian
 
Access to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAccess to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAtlassian
 
Design Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginDesign Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginAtlassian
 
Tear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingTear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingAtlassian
 
Nailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that MatterNailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that MatterAtlassian
 
Building Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in MindBuilding Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in MindAtlassian
 
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...Atlassian
 
Beyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced TeamsBeyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced TeamsAtlassian
 
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed TeamThe Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed TeamAtlassian
 
Building Apps With Enterprise in Mind
Building Apps With Enterprise in MindBuilding Apps With Enterprise in Mind
Building Apps With Enterprise in MindAtlassian
 

More from Atlassian (20)

International Women's Day 2020
International Women's Day 2020International Women's Day 2020
International Women's Day 2020
 
10 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 202010 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 2020
 
Forge App Showcase
Forge App ShowcaseForge App Showcase
Forge App Showcase
 
Let's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UILet's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UI
 
Meet the Forge Runtime
Meet the Forge RuntimeMeet the Forge Runtime
Meet the Forge Runtime
 
Forge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User ExperienceForge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User Experience
 
Take Action with Forge Triggers
Take Action with Forge TriggersTake Action with Forge Triggers
Take Action with Forge Triggers
 
Observability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeObservability and Troubleshooting in Forge
Observability and Troubleshooting in Forge
 
Trusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy ModelTrusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy Model
 
Designing Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI SystemDesigning Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI System
 
Forge: Under the Hood
Forge: Under the HoodForge: Under the Hood
Forge: Under the Hood
 
Access to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAccess to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIs
 
Design Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginDesign Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch Plugin
 
Tear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingTear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the Building
 
Nailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that MatterNailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that Matter
 
Building Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in MindBuilding Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in Mind
 
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
 
Beyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced TeamsBeyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced Teams
 
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed TeamThe Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
 
Building Apps With Enterprise in Mind
Building Apps With Enterprise in MindBuilding Apps With Enterprise in Mind
Building Apps With Enterprise in Mind
 

Recently uploaded

Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 

Recently uploaded (20)

Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 

Extreme CI Savings with Bamboo 3.1: The JIRA Story

  • 1.  
  • 2. Extreme CI Savings with Bamboo 3.1
  • 3.
  • 4. Where were we for CI? Compile 11,000 Junit Tests 3000 Functional Tests Deploy JIRA Artifacts Minimum 8 Hours in Serial
  • 5. Where were we for CI? Compile 11,000 Junit Tests 3000 Functional Tests Deploy JIRA Artifacts We had to break things up
  • 6. Where were we for CI? Test 1 SCM Trigger Test 6 Test 11 Test 2 Test 7 Test 12 Test 3 Test 8 Test 13 Test 4 Test 9 Test 5 Test 10 Test 14 Test 15
  • 7. We still had to…. Compile 11,000 Junit Tests 3000 Functional Tests Deploy JIRA Artifacts Minimum 8 Hours in Serial
  • 8. Unable to Aggregate Results 15 builds with 15 results Test 1 SCM Trigger Test 6 Test 11 Test 2 Test 7 Test 12 Test 3 Test 8 Test 13 Test 4 Test 9 Test 5 Test 10 Test 14 Test 15 ? ? ? ? ?
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. JIRA CI Design Goals Functional Tests Selenium Web Browser Tests Performance Tests Database Tests Supported Plugins Tests Inner Loop CI Outer Loop CI Distribution Tests
  • 15.
  • 16.
  • 17. Seems like a mountain of tests to climb and is out of reach
  • 18. But we have Bamboo 3.1!
  • 19. Stages Job 1 Job 2 Job 3 Job 4 Job 5 Job 6 Job 7 Job 8 Job 9
  • 20. Stages transforms our old CI 15 builds with 15 results Test 1 SCM Trigger Test 6 Test 11 Test 2 Test 7 Test 12 Test 3 Test 8 Test 13 Test 4 Test 9 Test 5 Test 10 Test 14 Test 15
  • 21. We still had to…. Compile 11,000 Junit Tests 3000 Functional Tests Deploy JIRA Artifacts Minimum 8 Hours in Serial
  • 22. Stages transforms our old CI 15 builds with 15 results Test 1 SCM Trigger Test 3 Test 11 Test 2 Test 7 Test 12 Test 3 Test 8 Test 13 Test 4 Test 9 Test 5 Test 10 Test 14 Test 15 1 build 15 jobs 1 result
  • 23. New CI Plan: Add a Stage Test 1 Test 3 Test 11 Test 2 Test 7 Test 12 Test 3 Test 8 Test 13 Test 4 Test 9 Test 5 Test 10 Test 14 Test 15 Deploy Artifacts to Maven Nexus Repository Continue to Next Stage if Previous Passes One Build Plan
  • 24.
  • 25. JIRA CI: From 8 hours to… Stages
  • 26. JIRA Release from 23 hours… Stages
  • 27.
  • 28. Artifact Passing Produce Artifact Consumer 1 Consumer 2 Consumer 3 Copies original artifact
  • 30. Remove Redundancies Test 1 Test 3 Test 11 Test 2 Test 7 Test 12 Test 3 Test 8 Test 13 Test 4 Test 9 Test 5 Test 10 Test 14 Test 15 Produce Application Artifacts
  • 31.
  • 34.
  • 35.
  • 36. The New Selenium CI Plan
  • 37. Multi Module Application Module 1 Distribution Deploy to Test Server 1 Deploy to Test Server 2 Module 2 Module 3 Module 4
  • 38.
  • 39.
  • 41. JIRA development cost for using Amazon? $4000 per month!!!
  • 42. Bamboo 3.1 Saves you Money! Configurable spot price bids
  • 43. Linux Spot Instance Windows Regular Instance Windows Spot Instance
  • 44. What is this worth to JIRA? $2000 per month!!!
  • 45. Our CI Future Infrastructure Improvements DVCS Bamboo upgrade from 3.0 to 3.1.1: Tasks Personal Builds Bamboo 3.2 Amazon enhancements Bamboo 3.2 restart failed tasks
  • 46. The Story… JIRA CI Past Problems Slow, unreliable Created New CI Goals Faster promotional CI Bamboo Staging Aggregated Results, Deployment Bamboo Artifact Passing Speed, Re-use, Deployment Outsourcing Infrastructure Amazon, Admin, Attractive Pricing Deliver Awesome

Editor's Notes

  1. Finally if we got a successful CI build, we would have our artifacts deployed to Maven, but it took us 8 hours to run this build in addition to any previous failed builds.
  2. We can’t run CI in 8 hours
  3. So we had to break things up. But the sad story is we have no way of aggregating the results of all 15 jobs. Though to get test feedback we did, of course, speed up this part of the CI loop.
  4. Though we broke up our build, we still had to run our serialized testing build to test and deploy our maven jira artifacts. We wanted to have artifacts fully tested because so many of our other applications depend on these artifacts to build like the numerous great plugins that are available.
  5. So we had to break things up. But the sad story is we have no way of aggregating the results of all 15 jobs. Though to get test feedback we did, of course, speed up this part of the CI loop.
  6. A developer validates change locally, updates their checkout workspace, runs tests, then commits. Bamboo detects the changes in SCM and launches our functional tests and selenium web browser tests. We have these both in two plans and then we deploy our artifacts to maven if our functional test plan passes. On a nightly basis we then can consume the latest passing JIRA artifacts into our four sets of testing. We do performance regression tests for obvious reasons. By testing the SAME functional tests now against different databases and different distributions, we can ENSURE that any tests failures here are because of the database or distribution itself failing. We especially get this with tests against Oracle. Finally, we also want to test JIRA plugins that need to consume the JIRA artifacts as a dependency to ensure that these also do not break with the changes to JIRA.
  7. If our Outer Loops passes we can then be confident about dogfooding JIRA inside Atlassian on our production environments to get soak time. This will then lead to more confidence to release JIRA to customers.
  8. Wow that’s a lot of tests in your Outer Loop CI!!!
  9. We have Bamboo 3.1!
  10. Adding stages and jobs are fast, especially when we can clone jobs. Each stage must pass in order to go onto the next.
  11. Recall our old build… and now we give it an extreme makeover
  12. Though we broke up our build, we still had to run our serialized testing build to test and deploy our maven jira artifacts. We wanted to have artifacts fully tested because so many of our other applications depend on these artifacts to build like the numerous great plugins that are available.
  13. Recall our old build… and now we give it an extreme makeover
  14. We can have our broken up functional tests and now be able to act upon those results because they are aggregated through stages. One build now runs faster and we can do more with those results.
  15. Our old selenium CI plan with stages has a timing of 61 minutes +/- 5 minutes depending on my elastic agent startup times and IO on those agents.
  16. Each of our test jobs checkout JIRA source from SVN and then compiles all of the JIRA artifacts. We think that’s a waste of time that each job does this and would like to use artifact passing for re-use and to reduce times.
  17. Adding a producer job to build a set of shared artifacts is straight-forward in Bamboo
  18. Our new selenium CI plan is reduced to 38 minutes +/- 5 minutes depending on my elastic agent startup times and IO on those agents.
  19. Adding stages and jobs are fast, especially when we can clone jobs. Each stage must pass in order to go onto the next.
  20. I can get some cheap infrastructure with amazon and spot pricing now in Bamboo 3.1!
  21. JIRA’s build server is able to get a spot instance for each linux and windows at greatly reduced prices. We had one here, that was not able to be a spot instance and was still able to boot with regular pricing to give us the infrastructure we need.
  22. I save $2000 per month by using spot instances for my JIRA bamboo server!!!!
  23. Which one of these factors do you want to start with to get your builds going in the right direction or reliable, faster, and cheaper?