SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Scaling Continuous Integration
Practices to Teams with Parallel
         Development

          January 19, 2012
Introduction to Today’s Speakers

Chris Lucca,
Technical Evangelist, AccuRev
  Chris' experience dates back to his days as a build / release specialist and
  software engineer for IBM-Rational. He has also filled the roles of developer,
  release engineer and SCM consultant for numerous organizations. In addition
  Chris is a certified scrum master and a frequent speaker at the AccuRev
  seminar series.

  Now Chris brings the experience and knowledge he has acquired to help keep
  others in the industry up-to-date on the latest developments, and how they
  can impact them directly.




                              Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Introduction to Today’s Speakers

 Eric Minick,
 Lead Consultant, UrbanCode
Eric Minick is a lead consultant at UrbanCode where he helps customers get the
most out of their build, deploy and release processes. He has 8 years of automation
experience throughout the application life-cycle in roles as a developer, test
automation engineer, and support engineer.

Eric has been at the forefront of continuous integration for 5+ years and has worked
on all three generations of UrbanCode’s Anthill. Keep up with Eric'’s latest insights
on UrbanCode’s blog.




                                  Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Agenda

•   Intro to CI
•   Overview of Parallel Development
•   Adapting CI to the Parallel Dev Challenge
•   Q&A




                  Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Agenda

•   Intro to CI
•   Overview of Parallel Development
•   Adapting CI to the Parallel Dev Challenge
•   Q&A




                  Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Traditional Development


                                                                                                          Write tests
  Specify   Design   Plan                                Code                                 Integrate                 Test
                                                                                                             Doc




Jan    Feb      Mar     Apr                      May                     Jun                           Jul       Aug Sep

                            Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Traditionally Devs Work in Isolation




             Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Too Much Isolation Leads to Integration Hell




               Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
CI: Minimizing Integration Pain

• Integrating frequently is less painful than
  infrequently
  • But, If we commit frequently blindly, we have a
    broken code base

• Implied condition: each integration will not
  decrease the code quality
  • This is the key to CI
  • The rest is implementation details



                 Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
CI: The Simple Implementation

• How do we determine code quality? We test it
• How do we test code? We build it and run tests
  against it
• This is how we get from CI to CI servers and
  software builds




                Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
So Simple but Very Important

• A build & unit test is a rudimentary check
• Gives important feedback
• The heartbeat of the dev organization




                 Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
CI at Scale?

• With too many committers into the same code
  line, the likelihood something is broken right now
  is high

• We stop caring about failures

• The feedback is meaningless, and productivity
  suffers. CI becomes “constantly broken”



                Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Agenda

•   Intro to CI
•   Overview of Parallel Development
•   Adapting CI to the Parallel Dev Challenge
•   Q&A




                  Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Reasons People Work In Parallel

It’s often a business reason…not for optimization

• Maintenance Release – Patches
• Customer Specials - Just for one customer
• Development branches – Developer spikes for
  experiments that will integrate at an unknown time
• Code Configurations – Different configurations of code
  based on environment, such as UAT, QA
• Special Content – Images, binaries


                    Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Technical Debt Grows

As code lines diverge, integration becomes a bigger
eventual problem.
… But we don’t always want to merge immediately

• Maintenance Release – Don’t want new features
• Customer Specials – One directional integration
• Development branches – Dev enjoys a stable playground
• Special Content – Reused at different cadence than code




                    Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Agenda

•   Intro to CI
•   Overview of Parallel Development
•   Adapting CI to the Parallel Dev Challenge
•   Q&A




                  Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Finding the Isolation / Integration Balance




             Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Integration Is Easy With a Few People



 Chapter 1-2   Chapter 1-2         Chapter 2-3                              Chapter 1-3                 Chapter 1-4




                             Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
It’s hard at scale



 Chapter 1-2   Chapter 1-2         Chapter 2-3                              Chapter 1-3                 Chapter 1-4




                             Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Little Hiccup

• Race condition: I could update to the latest code before
  the build/test notifies me it doesn’t compile
• Cost associated with this is huge
• Leads to “interesting solutions”
  •   Preflight
  •   Build branches
  •   Build Acceleration
  •   Build Avoidance
  •   Componentization



                    Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Cost of Integration

Per week:
• # of check-ins per developer?
• # of developers?
• % of check-ins that break things?
• # of problems encountered per developer?
• Length of time per problem encountered?

 200 devs, 2 commits each, 1% are bad = 4 breaks/day

 If each breakage cuts productivity 50% for 15
 minutes, we lose 100 dev hours / day (@$50/hr =
 $5000/day)
                 Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Multi-Stage Continuous Integration


        ws
                     Team A
        ws

        ws                      CI

                                                                       int

                     Team B                                             CI
        ws

        ws                     CI

        ws

      Minutes         Hours                                        Daily

                Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
•Continuous Integration
•Database Deploy                                  •Automated Tests
                          •Database Deploy
•Web Deploy                                       •Unit Tests
                          •Web Deploy
•Binary Deploy                                    •Binary Deploy
                          •Binary Deploy
•IT Sign-Off                                      •Database Deploy
                          •Customer Sign-Off                                •Continuous Integration
•Rollback (if needed)                             •Web Deploy




        x1                      x3                      x30                       x60



                  x100s                    x10                     x4                    x1



                 x10                 x5                         x2                      x1


                 5:00                      3:00                 2:00                    0:10
•Continuous Integration
                                             •Automated Tests
•Database Deploy
                                             •Unit Tests
•Web Deploy             •Database Deploy
                                             •Binary Deploy
•Binary Deploy          •Web Deploy
                                             •Database Deploy
•IT Sign-Off            •Binary Deploy
                        •Customer Sign-Off
                                             •Web Deploy               •Team Specific CI
•Rollback (if needed)
A Feature Branch Example

Urbancode’s Website Today…                                     Next (not ready for prime time)




We need two build configurations, deploy configs, test
configs, and test environments


                   Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Building and Testing Multiple Code Lines

• Build and test every active code line
  (continuously)

• Automatically run code scans, unit tests and
  functional tests




                Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
CI for a New Code Line Must Be Cheap

• Build and deployment configuration
  • Maximize reuse
  • Potentially create dynamically

• Tests
  • Core regression suites shared across code lines
  • Tests for new functionality shared as code is shared

• Test Environments
  • No excuse for a lack of test environments today
  • Deploy “what’s in production” as a baseline

                  Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Deploy Time Integration Is the Same

• In the team’s environment:
 • Continuously deploy and execute functional tests
 • Regularly (nightly / weekly) deploy other
   components that have passed integration tests

• When new features work well, deliver to the
  integration test environment

• Releases to Stage & Prod match the full
  contents of an earlier test environment

                Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
In Closing

• Compile is the first test
• Unit test, deploy, automation can come after
• Get Feedback as Fast as possible
• Different teams need different types of builds
• Separate code configurations based on process
• It’s about people, but tooling helps


                 Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
What Is AccuRev?
  Much more than Version Control…
  AccuRevenables Software Process Automation



                    Best Practices For:
                       Change
                      Visual Process
                           Agile
                       Management
           Compliance Automation                                                         Parallel
                          Version
        SCM               Control
                                                                                              Global




                   Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Urbancode Products

uBuild(AnthillPro)
 • Continuous integration and delivery

uDeploy
 • Deployment and release management

uCloud(soon)
 • Environment provisioning from your private cloud




                Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
Q&A




Call:   1-800-383-8170 or                                         Call:                   +1 216 858-9000
        +1-781-861-8700                                           Email:                  sales@urbancode.com
Email: sales@accurev.com                                          Visit:                  www.urbancode.com
Visit: www.accurev.com                                            Learn:                  blogs.urbancode.com
Learn: blog.accurev.com




                   Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.

Weitere ähnliche Inhalte

Was ist angesagt?

Software Factory - Overview
Software Factory - OverviewSoftware Factory - Overview
Software Factory - Overviewslides_teltools
 
Continuous delivery chernivcy
Continuous delivery chernivcyContinuous delivery chernivcy
Continuous delivery chernivcyVolodymyr Yelchev
 
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDzRDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDzSusan Yoskin
 
DevOps for Mainframe for IBM Pulse Conference
DevOps for Mainframe for IBM Pulse ConferenceDevOps for Mainframe for IBM Pulse Conference
DevOps for Mainframe for IBM Pulse ConferenceRosalind Radcliffe
 
Relay health build system
Relay health build systemRelay health build system
Relay health build systemroncordell
 
IBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsIBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsSanjeev Sharma
 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Mike McGarr
 
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...JKI
 
Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...
Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...
Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...Teodoro Cipresso
 
How we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotHow we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotBaruch Sadogursky
 
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...Prolifics
 
Build Trust in Your Build-to-Deployment Flow!
Build Trust in Your Build-to-Deployment Flow!Build Trust in Your Build-to-Deployment Flow!
Build Trust in Your Build-to-Deployment Flow!Baruch Sadogursky
 
Establishing a service factory
Establishing a service factoryEstablishing a service factory
Establishing a service factorydavemayo
 
TMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasTMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasKJR
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build AutomationHeiswayi Nrird
 
Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Rosalind Radcliffe
 

Was ist angesagt? (19)

Software Factory - Overview
Software Factory - OverviewSoftware Factory - Overview
Software Factory - Overview
 
Continuous delivery chernivcy
Continuous delivery chernivcyContinuous delivery chernivcy
Continuous delivery chernivcy
 
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDzRDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
 
DevOps for Mainframe for IBM Pulse Conference
DevOps for Mainframe for IBM Pulse ConferenceDevOps for Mainframe for IBM Pulse Conference
DevOps for Mainframe for IBM Pulse Conference
 
Relay health build system
Relay health build systemRelay health build system
Relay health build system
 
IBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsIBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile Apps
 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)
 
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...
 
Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...
Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...
Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...
 
How we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotHow we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we got
 
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
 
Hudson: from build jobs to build pipelines
Hudson: from build jobs to build pipelinesHudson: from build jobs to build pipelines
Hudson: from build jobs to build pipelines
 
03 - Continuous Integration
03 - Continuous Integration03 - Continuous Integration
03 - Continuous Integration
 
Build Trust in Your Build-to-Deployment Flow!
Build Trust in Your Build-to-Deployment Flow!Build Trust in Your Build-to-Deployment Flow!
Build Trust in Your Build-to-Deployment Flow!
 
Establishing a service factory
Establishing a service factoryEstablishing a service factory
Establishing a service factory
 
TMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasTMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael Palotas
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
 
Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402
 
Team City
Team CityTeam City
Team City
 

Andere mochten auch

Continuous integration at scale
Continuous integration at scaleContinuous integration at scale
Continuous integration at scaleVivek Singh
 
TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation IBM UrbanCode Products
 
DevOps @ Scania - Perforce on Tour, Berlin 2015
DevOps @ Scania - Perforce on Tour, Berlin 2015DevOps @ Scania - Perforce on Tour, Berlin 2015
DevOps @ Scania - Perforce on Tour, Berlin 2015Anders Lundsgård
 
An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...
An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...
An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...Anders Lundsgård
 

Andere mochten auch (6)

Continuous integration at scale
Continuous integration at scaleContinuous integration at scale
Continuous integration at scale
 
TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation
 
DevOps @ Scania - Perforce on Tour, Berlin 2015
DevOps @ Scania - Perforce on Tour, Berlin 2015DevOps @ Scania - Perforce on Tour, Berlin 2015
DevOps @ Scania - Perforce on Tour, Berlin 2015
 
An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...
An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...
An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...
 
Gradle
GradleGradle
Gradle
 
Continuous Delivery Maturity Model
Continuous Delivery Maturity ModelContinuous Delivery Maturity Model
Continuous Delivery Maturity Model
 

Ähnlich wie Scaling Continuous Integration Practices to Teams with Parallel Development

DevOps for AI Apps
DevOps for AI AppsDevOps for AI Apps
DevOps for AI AppsRichin Jain
 
SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016w2fong
 
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8Rajwinder Singh
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneDashlane
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
 
TejaSoft Code Audit Case Studies
TejaSoft Code Audit Case StudiesTejaSoft Code Audit Case Studies
TejaSoft Code Audit Case StudiesRaja Nagendra Kumar
 
A Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for DatabasesA Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for DatabasesIBM UrbanCode Products
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle ManagementAmazon Web Services
 
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...Bert Jan Schrijver
 
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...Bert Jan Schrijver
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcityMd Jawed
 
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...Bert Jan Schrijver
 
WSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
WSO2Con EU 2015: Keynote - The Containerization of the Developer WorkspaceWSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
WSO2Con EU 2015: Keynote - The Containerization of the Developer WorkspaceWSO2
 
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...Bert Jan Schrijver
 
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014Endava
 
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...CloudBees
 
The Rocky Cloud Road
The Rocky Cloud RoadThe Rocky Cloud Road
The Rocky Cloud RoadGert Drapers
 
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...Bert Jan Schrijver
 
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...David Rosen
 

Ähnlich wie Scaling Continuous Integration Practices to Teams with Parallel Development (20)

DevOps for AI Apps
DevOps for AI AppsDevOps for AI Apps
DevOps for AI Apps
 
SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016
 
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at Dashlane
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
TejaSoft Code Audit Case Studies
TejaSoft Code Audit Case StudiesTejaSoft Code Audit Case Studies
TejaSoft Code Audit Case Studies
 
Enter the Team City
Enter the Team CityEnter the Team City
Enter the Team City
 
A Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for DatabasesA Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for Databases
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle Management
 
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
 
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcity
 
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
 
WSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
WSO2Con EU 2015: Keynote - The Containerization of the Developer WorkspaceWSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
WSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
 
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
 
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
 
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
 
The Rocky Cloud Road
The Rocky Cloud RoadThe Rocky Cloud Road
The Rocky Cloud Road
 
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
 
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
 

Mehr von IBM UrbanCode Products

Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9IBM UrbanCode Products
 
Digital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewDigital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewIBM UrbanCode Products
 
Using Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT ChallengesUsing Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT ChallengesIBM UrbanCode Products
 
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps:  Standardizing Chaotic Culture at NBCUniversalEfficient DevOps:  Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversalIBM UrbanCode Products
 
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...IBM UrbanCode Products
 
Shift Happens - Rapidly Rolling Forward During Production Failure
Shift Happens - Rapidly Rolling Forward During Production FailureShift Happens - Rapidly Rolling Forward During Production Failure
Shift Happens - Rapidly Rolling Forward During Production FailureIBM UrbanCode Products
 
Leading the Transformation: Applying DevOps and Agile Principles at Scale
Leading the Transformation:  Applying DevOps and Agile Principles at ScaleLeading the Transformation:  Applying DevOps and Agile Principles at Scale
Leading the Transformation: Applying DevOps and Agile Principles at ScaleIBM UrbanCode Products
 
Continuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeContinuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeIBM UrbanCode Products
 
Securing the Automation of Application Deployment with UrbanCode Deploy
Securing the Automation of Application Deployment with UrbanCode DeploySecuring the Automation of Application Deployment with UrbanCode Deploy
Securing the Automation of Application Deployment with UrbanCode DeployIBM UrbanCode Products
 
UrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the DotsUrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the DotsIBM UrbanCode Products
 
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption RoadmapGet Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption RoadmapIBM UrbanCode Products
 
Building a DevOps Team that Isn't Evil
Building a DevOps Team that Isn't EvilBuilding a DevOps Team that Isn't Evil
Building a DevOps Team that Isn't EvilIBM UrbanCode Products
 
DevOps and the Case for ROI to Executives
DevOps and the Case for ROI to ExecutivesDevOps and the Case for ROI to Executives
DevOps and the Case for ROI to ExecutivesIBM UrbanCode Products
 
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode DeployContinuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode DeployIBM UrbanCode Products
 
Creating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilCreating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilIBM UrbanCode Products
 

Mehr von IBM UrbanCode Products (20)

Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
 
What's New with IBM UrbanCode Deploy
What's New with IBM UrbanCode DeployWhat's New with IBM UrbanCode Deploy
What's New with IBM UrbanCode Deploy
 
Digital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewDigital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture Overview
 
Using Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT ChallengesUsing Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT Challenges
 
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps:  Standardizing Chaotic Culture at NBCUniversalEfficient DevOps:  Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversal
 
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
 
Shift Happens - Rapidly Rolling Forward During Production Failure
Shift Happens - Rapidly Rolling Forward During Production FailureShift Happens - Rapidly Rolling Forward During Production Failure
Shift Happens - Rapidly Rolling Forward During Production Failure
 
The Future of DevOps and UrbanCode
The Future of DevOps and UrbanCodeThe Future of DevOps and UrbanCode
The Future of DevOps and UrbanCode
 
Death to Manual Deployments
Death to Manual DeploymentsDeath to Manual Deployments
Death to Manual Deployments
 
Leading the Transformation: Applying DevOps and Agile Principles at Scale
Leading the Transformation:  Applying DevOps and Agile Principles at ScaleLeading the Transformation:  Applying DevOps and Agile Principles at Scale
Leading the Transformation: Applying DevOps and Agile Principles at Scale
 
Continuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeContinuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCode
 
Securing the Automation of Application Deployment with UrbanCode Deploy
Securing the Automation of Application Deployment with UrbanCode DeploySecuring the Automation of Application Deployment with UrbanCode Deploy
Securing the Automation of Application Deployment with UrbanCode Deploy
 
Adopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed ITAdopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed IT
 
A True Story of Why QA Loves DevOps
A True Story of Why QA Loves DevOpsA True Story of Why QA Loves DevOps
A True Story of Why QA Loves DevOps
 
UrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the DotsUrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the Dots
 
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption RoadmapGet Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
 
Building a DevOps Team that Isn't Evil
Building a DevOps Team that Isn't EvilBuilding a DevOps Team that Isn't Evil
Building a DevOps Team that Isn't Evil
 
DevOps and the Case for ROI to Executives
DevOps and the Case for ROI to ExecutivesDevOps and the Case for ROI to Executives
DevOps and the Case for ROI to Executives
 
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode DeployContinuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
 
Creating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilCreating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't Evil
 

Kürzlich hochgeladen

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Kürzlich hochgeladen (20)

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

Scaling Continuous Integration Practices to Teams with Parallel Development

  • 1. Scaling Continuous Integration Practices to Teams with Parallel Development January 19, 2012
  • 2. Introduction to Today’s Speakers Chris Lucca, Technical Evangelist, AccuRev Chris' experience dates back to his days as a build / release specialist and software engineer for IBM-Rational. He has also filled the roles of developer, release engineer and SCM consultant for numerous organizations. In addition Chris is a certified scrum master and a frequent speaker at the AccuRev seminar series. Now Chris brings the experience and knowledge he has acquired to help keep others in the industry up-to-date on the latest developments, and how they can impact them directly. Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 3. Introduction to Today’s Speakers Eric Minick, Lead Consultant, UrbanCode Eric Minick is a lead consultant at UrbanCode where he helps customers get the most out of their build, deploy and release processes. He has 8 years of automation experience throughout the application life-cycle in roles as a developer, test automation engineer, and support engineer. Eric has been at the forefront of continuous integration for 5+ years and has worked on all three generations of UrbanCode’s Anthill. Keep up with Eric'’s latest insights on UrbanCode’s blog. Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 4. Agenda • Intro to CI • Overview of Parallel Development • Adapting CI to the Parallel Dev Challenge • Q&A Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 5. Agenda • Intro to CI • Overview of Parallel Development • Adapting CI to the Parallel Dev Challenge • Q&A Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 6. Traditional Development Write tests Specify Design Plan Code Integrate Test Doc Jan Feb Mar Apr May Jun Jul Aug Sep Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 7. Traditionally Devs Work in Isolation Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 8. Too Much Isolation Leads to Integration Hell Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 9. CI: Minimizing Integration Pain • Integrating frequently is less painful than infrequently • But, If we commit frequently blindly, we have a broken code base • Implied condition: each integration will not decrease the code quality • This is the key to CI • The rest is implementation details Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 10. CI: The Simple Implementation • How do we determine code quality? We test it • How do we test code? We build it and run tests against it • This is how we get from CI to CI servers and software builds Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 11. So Simple but Very Important • A build & unit test is a rudimentary check • Gives important feedback • The heartbeat of the dev organization Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 12. CI at Scale? • With too many committers into the same code line, the likelihood something is broken right now is high • We stop caring about failures • The feedback is meaningless, and productivity suffers. CI becomes “constantly broken” Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 13. Agenda • Intro to CI • Overview of Parallel Development • Adapting CI to the Parallel Dev Challenge • Q&A Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 14. Reasons People Work In Parallel It’s often a business reason…not for optimization • Maintenance Release – Patches • Customer Specials - Just for one customer • Development branches – Developer spikes for experiments that will integrate at an unknown time • Code Configurations – Different configurations of code based on environment, such as UAT, QA • Special Content – Images, binaries Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 15. Technical Debt Grows As code lines diverge, integration becomes a bigger eventual problem. … But we don’t always want to merge immediately • Maintenance Release – Don’t want new features • Customer Specials – One directional integration • Development branches – Dev enjoys a stable playground • Special Content – Reused at different cadence than code Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 16. Agenda • Intro to CI • Overview of Parallel Development • Adapting CI to the Parallel Dev Challenge • Q&A Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 17. Finding the Isolation / Integration Balance Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 18. Integration Is Easy With a Few People Chapter 1-2 Chapter 1-2 Chapter 2-3 Chapter 1-3 Chapter 1-4 Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 19. It’s hard at scale Chapter 1-2 Chapter 1-2 Chapter 2-3 Chapter 1-3 Chapter 1-4 Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 20. Little Hiccup • Race condition: I could update to the latest code before the build/test notifies me it doesn’t compile • Cost associated with this is huge • Leads to “interesting solutions” • Preflight • Build branches • Build Acceleration • Build Avoidance • Componentization Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 21. Cost of Integration Per week: • # of check-ins per developer? • # of developers? • % of check-ins that break things? • # of problems encountered per developer? • Length of time per problem encountered? 200 devs, 2 commits each, 1% are bad = 4 breaks/day If each breakage cuts productivity 50% for 15 minutes, we lose 100 dev hours / day (@$50/hr = $5000/day) Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 22. Multi-Stage Continuous Integration ws Team A ws ws CI int Team B CI ws ws CI ws Minutes Hours Daily Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 23. •Continuous Integration •Database Deploy •Automated Tests •Database Deploy •Web Deploy •Unit Tests •Web Deploy •Binary Deploy •Binary Deploy •Binary Deploy •IT Sign-Off •Database Deploy •Customer Sign-Off •Continuous Integration •Rollback (if needed) •Web Deploy x1 x3 x30 x60 x100s x10 x4 x1 x10 x5 x2 x1 5:00 3:00 2:00 0:10
  • 24. •Continuous Integration •Automated Tests •Database Deploy •Unit Tests •Web Deploy •Database Deploy •Binary Deploy •Binary Deploy •Web Deploy •Database Deploy •IT Sign-Off •Binary Deploy •Customer Sign-Off •Web Deploy •Team Specific CI •Rollback (if needed)
  • 25. A Feature Branch Example Urbancode’s Website Today… Next (not ready for prime time) We need two build configurations, deploy configs, test configs, and test environments Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 26. Building and Testing Multiple Code Lines • Build and test every active code line (continuously) • Automatically run code scans, unit tests and functional tests Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 27. CI for a New Code Line Must Be Cheap • Build and deployment configuration • Maximize reuse • Potentially create dynamically • Tests • Core regression suites shared across code lines • Tests for new functionality shared as code is shared • Test Environments • No excuse for a lack of test environments today • Deploy “what’s in production” as a baseline Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 28. Deploy Time Integration Is the Same • In the team’s environment: • Continuously deploy and execute functional tests • Regularly (nightly / weekly) deploy other components that have passed integration tests • When new features work well, deliver to the integration test environment • Releases to Stage & Prod match the full contents of an earlier test environment Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 29. In Closing • Compile is the first test • Unit test, deploy, automation can come after • Get Feedback as Fast as possible • Different teams need different types of builds • Separate code configurations based on process • It’s about people, but tooling helps Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 30. What Is AccuRev? Much more than Version Control… AccuRevenables Software Process Automation Best Practices For: Change Visual Process Agile Management Compliance Automation Parallel Version SCM Control Global Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 31. Urbancode Products uBuild(AnthillPro) • Continuous integration and delivery uDeploy • Deployment and release management uCloud(soon) • Environment provisioning from your private cloud Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.
  • 32. Q&A Call: 1-800-383-8170 or Call: +1 216 858-9000 +1-781-861-8700 Email: sales@urbancode.com Email: sales@accurev.com Visit: www.urbancode.com Visit: www.accurev.com Learn: blogs.urbancode.com Learn: blog.accurev.com Copyright © 2012 Urbancode, Inc. and AccuRev, Inc.. All Rights Reserved.

Hinweis der Redaktion

  1. Isolation is good. Nobody breaks our stuff.
  2. CI is based on the observation that the longer development streams diverge, the more painful the eventual integration will be. Taking the converse of the above statement, the more frequently developers integrate their changes, the more painless those integrations will be
  3. The compile is arguably the most important test. Non-compiling code, really hurts the rest of your teamRace condition gets worse every way we scale. More people, sloppier commits, slower builds, slower tests, faster commits.
  4. Tell story around 400 components branching at once and reconfigured in Hudson.