2. A Bit About Me…
Andrew Phillips
o VP Products for XebiaLabs
o Lots of enterprise software development on
high-performance systems
o Been on both sides of the “Dev…Ops” fence
o Active open source contributor and committer:
jclouds, Akka, Gradle and others
o Cloud, PaaS & JVM language fan (mainly Scala, Clojure)
o Regular meetup, conference etc. presenter
3. About XebiaLabs
o Headquartered in Boston, Massachusetts
o Global development and support offices in
NL, UK, France and India
Our flagship product, Deployit, is a market-leading
Application Release Automation platform.
Benefits include:
o Reduce development applications costs
o Accelerate application time to market
o Bridge the gap between Development and Operations
4. Agenda
o 1min on Continuous Integration
o Moving Beyond CI to Business Value
o Continuous Delivery in a Nutshell
o Enterprise Challenges to CD
o A Sample Delivery Pipeline
o 5 Steps Towards Continuous Delivery
5. The 1min Continuous Integration Intro
o Emerged at the end of the 90s as one
of the XP practices
o By continuously building and testing
software quality should improve
o Tests often limited to unit tests (e.g.
JUnit)
o Sometimes also functional tests (e.g.
Selenium)
6. The 1min Continuous Integration Intro
o Emerged at the end of the 90s as one
of the XP practices
o By continuously building and testing
software quality should improve
o Tests often limited to unit tests (e.g.
JUnit)
o Sometimes also functional tests (e.g.
Selenium)
7. Beyond CI
o Deployment to the target platform
often not part of the CI cycle
o Deployment procedures not tested!
o Application not tested on ultimate
target platform!
8. Beyond CI
o Principle #1 of the Agile Manifesto:
“Our highest priority is to satisfy the
customer through early and continuous
delivery of valuable software.”
o What is the business value of code sitting
in your repository?
11. Enter Continuous Delivery
o Strictest definition: Every (tagged)
version goes to production
o LinkedIn, Etsy etc. etc.
o Less strict: Include deployment in the
CI cycle to test the deployed artifacts
on the target platform
12. Enter Continuous Delivery
o Smoke tests
o Landing page
o Line of Life
o Functional tests on target platform (e.g. Selenium)
o Content of the landing page
o Typical run
o Performance tests (e.g. JMeter)
o Response time of the landing page
o Response time of the simple / complex path
14. Enterprise Challenges
o Organizing many jobs
o Standardizing common job parameters
o Identifying job ownership
o Securing job access
o Automating job sequence
o Setting up job gates/conditions
15. Enterprise Challenges
o Same pipeline setup across middleware and OS
types
o Same pipeline setup in private/hybrid cloud and
PaaS environments
o On-demand environment provisioning
o Release Management integration
o End-to-end “paper trail”
18. Sample Delivery Pipeline: Recap
o Enterprise features:
o Folders
o Templates
o Access-control
o Job gates
o Validated merge
o “Smart” deployment automation
o Key ingredient: automated tests!
19. 5 Steps Towards Continuous Delivery
1. Define extent and branches of pipeline
o Doesn’t have to be Prod straight away!
20. 5 Steps Towards Continuous Delivery
1. Define extent and branches of pipeline
o Doesn’t have to be Prod straight away!
2. Define triggers and gates for your pipeline phases
o How many of these can you automate?
21. 5 Steps Towards Continuous Delivery
1. Define extent and branches of pipeline
o Doesn’t have to be Prod straight away!
2. Define triggers and gates for your pipeline phases
o How many of these can you automate?
3. Do only validated code/artifacts get passed
down the pipeline?
o Watch out if new components are introduced
later on
22. 5 Steps Towards Continuous Delivery
4. Who needs to know/be able to control what?
o Job settings and deployed configuration
settings can be invisible
23. 5 Steps Towards Continuous Delivery
4. Who needs to know/be able to control what?
o Job settings and deployed configuration
settings can be invisible
5. How much variation across projects/platforms do
you need to handle?
24. Thank You!
NEXT STEPS
o More information: http://www.xebialabs.com
o Try the Jenkins Deployit plugin in your enviornment
o Come up and speak to Sean, Patrick or myself!
Contact Details
o Andrew Phillips
o VP Products
o aphillips@xebialabs.com
o blog.xebialabs.com/author/aphillips