SlideShare a Scribd company logo
1 of 54
Download to read offline
Con$nuous	
  Delivery	
  
 Tools	
  and	
  Techniques	
  

                  Mike	
  McGarr	
  
                  mike.mcgarr@excella.com	
  
                  h=p://earlyandoAen.wordpress.com	
  	
  
                  @jmichaelmcgarr	
  
About	
  Me	
  

•  J.	
  Michael	
  (Mike)	
  McGarr	
  
•  Excella	
  Consul$ng,	
  Arlington	
  VA	
  
•  Lead	
  of	
  Excella’s	
  Java	
  Center	
  of	
  Excellence	
  
	
  




                                                                       2	
  
Excella	
  is	
  Hiring!	
  




                               3	
  
Con$nuous	
  Delivery	
  is…	
  

…a	
  set	
  of	
  prac$ces	
  and	
  principles	
  aimed	
  at,	
  
building,	
  tes+ng,	
  and	
  releasing	
  soAware	
  
faster	
  and	
  more	
  frequently.	
  




                                                                  4
5
Goals	
  



Quality	
           Cycle	
  Time	
  


                                        6
Con$nuous	
  what?	
  


Continuous       Continuous   Continuous
Integration       Delivery    Deployment




                                       7
Con$nuous	
  Deployment	
  

                  Build	
  Pipelines	
  

          Deployment	
  Automa$on	
  



Configura$on	
       Con$nuous	
  
                                           Tes$ng	
  
Management	
        Integra$on	
  



                         Agile	
  

                                                        8
Developers	
  




             http://flic.kr/p/5cK2
                                     9	
  
Version	
  Control	
  




                         10
Build	
  Automa$on	
  




                         11
Unit	
  Tes$ng	
  




                     12
JUnit,	
  Hamcrest	
  &	
  Mockito	
  




                                         13
14
Spock	
  




            15
Test	
  Driven	
  Development	
  




http://reddevnews.com/articles/2007/11/01/testdriven-development-tdd.aspx   16
Integra$on	
  Tes$ng	
  




                           17
Sta$c	
  Code	
  Analysis	
  




          CheckStyle


                                18
The	
  Team	
  




                  19	
  
Agile	
  




            20
Task	
  Management	
  




                         21
Con$nuous	
  Integra$on	
  
Check-­‐in	
  Daily	
  
Commit	
  to	
  Trunk	
  	
  
Automate	
  the	
  Build	
  
Keep	
  the	
  Build	
  Fast	
  
Every	
  Commit	
  results	
  in	
  Build	
  
Test	
  in	
  Clone	
  of	
  Produc$on	
  
Automate	
  Deployment	
  
                                                22
Con$nuous	
  Integra$on	
  




                              23
Jenkins	
  




              24
Dependency	
  Management	
  




                               25
Nexus	
  




            26
Technical	
  Debt	
  




                        27
Sonar	
  




            28
Specifica$on	
  by	
  Example	
  




                                   29
Spock	
  and	
  Geb	
  




                          30
Concordion	
  




                 31
Deployment	
  
                 http://flic.kr/p/y8K
                             32
Build	
  Pipelines	
  




                         33
Single	
  Iden$fier	
  




                         34
Versioning	
  




                 35
Code	
  Deployments	
  




                          36
Database	
  Management	
  




                             37
38
Run$me	
  Configura$on	
  



ESCAPE            Database	
  




                                 39
Infrastructure	
  Management	
  




                                   40
Puppet	
  




             41
Vagrant	
  




              42
Op$mizing	
  




            http://flic.kr/p/6hDAEK
                                      43	
  
Evolu$onary	
  Design	
  




                            44
Performance	
  Tes$ng	
  




                            45
Performance	
  Tes$ng	
  




                            46
Monitoring	
  




                 47
Con$nuous	
  Deployment	
  




                              48
Contact	
  Me	
  


Mike McGarr
mike.mcgarr@excella.com
http://earlyandoften.wordpress.com
@jmichaelmcgarr




                                      49
Further	
  Reading	
  
•  Continuous Delivery: Reliable Software Releases through Build, Test
   and Deployment Automation, by Jez Humble and David Farley -
   http://www.amazon.com/Continuous-Delivery-Deployment-Automation-
   Addison-Wesley/dp/0321601912
•  Test Driven Development (TDD) –
   http://en.wikipedia.org/wiki/Test-driven_development
•  Introducing BDD, by Dan North – http://dannorth.net/introducing-bdd/
•  Agile Manifesto – http://agilemanifesto.org/
•  Scrum – http://www.scrumalliance.org/learn_about_scrum
•  Continuous Integration, by Martin Fowler –
   http://martinfowler.com/articles/continuousIntegration.html
•  Specification by Example, by Gojko Adzic -
   http://specificationbyexample.com/
•  Build Pipelines -
   http://www.magpiebrain.com/2009/12/13/a-brief-and-incomplete-
   history-of-build-pipelines/

                                                                          50
Further	
  Reading	
  
•  Maven Releases on Steriods, by Axel Fontaine –
   http://www.axelfontaine.com/2011/01/maven-releases-on-steroids-
   adios.html
•  What is in a Name? Usually a version number, actually., by James
   Betteley -
   http://jamesbetteley.wordpress.com/2011/07/07/what-is-in-a-name-
   usually-a-version-number-actually/
•  Build Once, Deploy Many -
   http://earlyandoften.wordpress.com/2010/09/09/build-once-deploy-
   many/
•  Evolutionary Design - http://martinfowler.com/articles/designDead.html
•  Continuous Deployment -
   http://timothyfitz.wordpress.com/2009/02/08/continuous-deployment/
•  Sonar’s Technical Debt Calculation -
   http://www.sonarsource.org/evaluate-your-technical-debt-with-sonar/
•  Gherkin - https://github.com/cucumber/cucumber/wiki/Gherkin

                                                                            51
Tools	
  
•    Git - http://git-scm.com/
•    Subversion - http://subversion.tigris.org/
•    Mercurial - http://mercurial.selenic.com/
•    Rational ClearCase -
     http://www-01.ibm.com/software/awdtools/clearcase/
•    Serena Dimensions CM -
     http://www.serena.com/products/dimensions-cm/index.html
•    Ant - http://ant.apache.org/
•    Ivy - http://ant.apache.org/ivy/
•    Maven - http://maven.apache.org/
•    Gradle - http://gradle.org/
•    JUnit – http://www.junit.org/
•    Mockito – http://code.google.com/p/mockito/
•    Hamcrest – http://code.google.com/p/hamcrest/
•    Spock – http://code.google.com/p/spock/
•    dbUnit – http://www.dbunit.org/
•    Unitils – http://unitils.org/summary.html
                                                               52
Tools	
  
•    Findbugs – http://findbugs.sourceforge.net/
•    PMD – http://pmd.sourceforge.net/
•    Checkstyle – http://checkstyle.sourceforge.net/
•    JIRA – http://www.atlassian.com/software/jira/overview
•    GitHub – https://github.com/
•    Jenkins - http://jenkins-ci.org/
•    TeamCity – http://www.jetbrains.com/teamcity/
•    Nexus – http://www.sonatype.org/nexus/
•    Artifactory – http://www.jfrog.com/products.php
•    Sonar – http://www.sonarsource.org/
•    FitNesse –
•    Concordion – http://www.concordion.org/
•    Cucumber – http://cukes.info/
•    easyb – http://www.easyb.org/
•    jBehave - http://jbehave.org/
•    geb - http://www.gebish.org/

                                                              53
Tools	
  
•    Liquibase – www.liquibase.org/
•    Flyway – http://code.google.com/p/flyway/
•    Escape – http://code.google.com/p/escservesconfig/
•    Puppet – http://puppetlabs.com/
•    Chef – http://www.opscode.com/chef/
•    Vagrant – http://vagrantup.com/
•    JMeter – http://jmeter.apache.org/
•    Nagios - http://www.nagios.org/




                                                          54

More Related Content

What's hot

Splunk 6.4 Administration.pdf
Splunk 6.4 Administration.pdfSplunk 6.4 Administration.pdf
Splunk 6.4 Administration.pdfnitinscribd
 
Free GitOps Workshop + Intro to Kubernetes & GitOps
Free GitOps Workshop + Intro to Kubernetes & GitOpsFree GitOps Workshop + Intro to Kubernetes & GitOps
Free GitOps Workshop + Intro to Kubernetes & GitOpsWeaveworks
 
Using Splunk for Information Security
Using Splunk for Information SecurityUsing Splunk for Information Security
Using Splunk for Information SecuritySplunk
 
Rtf v2 ingress muleSoft meetup self managed kubernetes
Rtf v2 ingress muleSoft meetup self managed kubernetesRtf v2 ingress muleSoft meetup self managed kubernetes
Rtf v2 ingress muleSoft meetup self managed kubernetesSandeep Deshmukh
 
Webinar - Unbox GitLab CI/CD
Webinar - Unbox GitLab CI/CD Webinar - Unbox GitLab CI/CD
Webinar - Unbox GitLab CI/CD Annie Huang
 
Getting Started with Confluent Schema Registry
Getting Started with Confluent Schema RegistryGetting Started with Confluent Schema Registry
Getting Started with Confluent Schema Registryconfluent
 
Security Automation & Orchestration
Security Automation & OrchestrationSecurity Automation & Orchestration
Security Automation & OrchestrationSplunk
 
Shift Left Security
Shift Left SecurityShift Left Security
Shift Left SecurityBATbern
 
Building secure applications with keycloak
Building secure applications with keycloak Building secure applications with keycloak
Building secure applications with keycloak Abhishek Koserwal
 
The Paved Road at Netflix
The Paved Road at NetflixThe Paved Road at Netflix
The Paved Road at NetflixDianne Marsh
 
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...Eva Mave Ng
 
22nd Athens Big Data Meetup - 1st Talk - MLOps Workshop: The Full ML Lifecycl...
22nd Athens Big Data Meetup - 1st Talk - MLOps Workshop: The Full ML Lifecycl...22nd Athens Big Data Meetup - 1st Talk - MLOps Workshop: The Full ML Lifecycl...
22nd Athens Big Data Meetup - 1st Talk - MLOps Workshop: The Full ML Lifecycl...Athens Big Data
 
Admission controllers - PSP, OPA, Kyverno and more!
Admission controllers - PSP, OPA, Kyverno and more!Admission controllers - PSP, OPA, Kyverno and more!
Admission controllers - PSP, OPA, Kyverno and more!SebastienSEYMARC
 
Automation CI CD with Gitlab, Java, docker on Hidora - Jelastic
Automation CI CD with Gitlab, Java, docker on Hidora - JelasticAutomation CI CD with Gitlab, Java, docker on Hidora - Jelastic
Automation CI CD with Gitlab, Java, docker on Hidora - JelasticHidora
 
Starbase: Graph-Based Security Analysis for Everyone
Starbase: Graph-Based Security Analysis for EveryoneStarbase: Graph-Based Security Analysis for Everyone
Starbase: Graph-Based Security Analysis for EveryoneNeo4j
 

What's hot (20)

Splunk 6.4 Administration.pdf
Splunk 6.4 Administration.pdfSplunk 6.4 Administration.pdf
Splunk 6.4 Administration.pdf
 
Free GitOps Workshop + Intro to Kubernetes & GitOps
Free GitOps Workshop + Intro to Kubernetes & GitOpsFree GitOps Workshop + Intro to Kubernetes & GitOps
Free GitOps Workshop + Intro to Kubernetes & GitOps
 
Using Splunk for Information Security
Using Splunk for Information SecurityUsing Splunk for Information Security
Using Splunk for Information Security
 
Gitops Hands On
Gitops Hands OnGitops Hands On
Gitops Hands On
 
Rtf v2 ingress muleSoft meetup self managed kubernetes
Rtf v2 ingress muleSoft meetup self managed kubernetesRtf v2 ingress muleSoft meetup self managed kubernetes
Rtf v2 ingress muleSoft meetup self managed kubernetes
 
Webinar - Unbox GitLab CI/CD
Webinar - Unbox GitLab CI/CD Webinar - Unbox GitLab CI/CD
Webinar - Unbox GitLab CI/CD
 
Getting Started with Confluent Schema Registry
Getting Started with Confluent Schema RegistryGetting Started with Confluent Schema Registry
Getting Started with Confluent Schema Registry
 
Security Automation & Orchestration
Security Automation & OrchestrationSecurity Automation & Orchestration
Security Automation & Orchestration
 
Shift Left Security
Shift Left SecurityShift Left Security
Shift Left Security
 
DevOps or DevSecOps
DevOps or DevSecOpsDevOps or DevSecOps
DevOps or DevSecOps
 
Building secure applications with keycloak
Building secure applications with keycloak Building secure applications with keycloak
Building secure applications with keycloak
 
The Paved Road at Netflix
The Paved Road at NetflixThe Paved Road at Netflix
The Paved Road at Netflix
 
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
 
22nd Athens Big Data Meetup - 1st Talk - MLOps Workshop: The Full ML Lifecycl...
22nd Athens Big Data Meetup - 1st Talk - MLOps Workshop: The Full ML Lifecycl...22nd Athens Big Data Meetup - 1st Talk - MLOps Workshop: The Full ML Lifecycl...
22nd Athens Big Data Meetup - 1st Talk - MLOps Workshop: The Full ML Lifecycl...
 
Building active directory lab for red teaming
Building active directory lab for red teamingBuilding active directory lab for red teaming
Building active directory lab for red teaming
 
Admission controllers - PSP, OPA, Kyverno and more!
Admission controllers - PSP, OPA, Kyverno and more!Admission controllers - PSP, OPA, Kyverno and more!
Admission controllers - PSP, OPA, Kyverno and more!
 
Automation CI CD with Gitlab, Java, docker on Hidora - Jelastic
Automation CI CD with Gitlab, Java, docker on Hidora - JelasticAutomation CI CD with Gitlab, Java, docker on Hidora - Jelastic
Automation CI CD with Gitlab, Java, docker on Hidora - Jelastic
 
Fleet and elastic agent
Fleet and elastic agentFleet and elastic agent
Fleet and elastic agent
 
Starbase: Graph-Based Security Analysis for Everyone
Starbase: Graph-Based Security Analysis for EveryoneStarbase: Graph-Based Security Analysis for Everyone
Starbase: Graph-Based Security Analysis for Everyone
 
3 2-1 Backup Best Practices
3 2-1 Backup Best Practices3 2-1 Backup Best Practices
3 2-1 Backup Best Practices
 

Viewers also liked

Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1Vishal Biyani
 
#CPBR7 - Métricas para startups
#CPBR7 - Métricas para startups#CPBR7 - Métricas para startups
#CPBR7 - Métricas para startupsSaulo Arruda
 
Geospatial Indexing and Querying with MongoDB
Geospatial Indexing and Querying with MongoDBGeospatial Indexing and Querying with MongoDB
Geospatial Indexing and Querying with MongoDBGrant Goodale
 
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWSConhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWSAmazon Web Services LATAM
 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Mike McGarr
 
CCMS_Launching_Presentation
CCMS_Launching_PresentationCCMS_Launching_Presentation
CCMS_Launching_PresentationFareed Fattal
 
Developing for Multiple Platforms
Developing for Multiple PlatformsDeveloping for Multiple Platforms
Developing for Multiple PlatformsDaniel Pfeiffer
 
Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Mike McGarr
 
Software architecture8
Software architecture8Software architecture8
Software architecture8Ahmad Zee
 
pengurusan masa
pengurusan masapengurusan masa
pengurusan masababymee_u
 
Walk by faith_guillermo_maldonado_org
Walk by faith_guillermo_maldonado_orgWalk by faith_guillermo_maldonado_org
Walk by faith_guillermo_maldonado_orgJuan Jacobo Rosseau
 
Jose victor patiño duran - curriculum
Jose victor patiño duran -  curriculumJose victor patiño duran -  curriculum
Jose victor patiño duran - curriculumOmar ALI
 
PAGINA WEB DE JUAN JACOBO ROSSEAU
PAGINA WEB DE JUAN JACOBO ROSSEAUPAGINA WEB DE JUAN JACOBO ROSSEAU
PAGINA WEB DE JUAN JACOBO ROSSEAUJuan Jacobo Rosseau
 

Viewers also liked (20)

Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1
 
#CPBR7 - Métricas para startups
#CPBR7 - Métricas para startups#CPBR7 - Métricas para startups
#CPBR7 - Métricas para startups
 
Melhores Práticas no Uso da Nuvem AWS
Melhores Práticas no Uso da Nuvem AWSMelhores Práticas no Uso da Nuvem AWS
Melhores Práticas no Uso da Nuvem AWS
 
Geospatial Indexing and Querying with MongoDB
Geospatial Indexing and Querying with MongoDBGeospatial Indexing and Querying with MongoDB
Geospatial Indexing and Querying with MongoDB
 
Arquiteturas de Alta Disponibilidade na AWS
Arquiteturas de Alta Disponibilidade na AWSArquiteturas de Alta Disponibilidade na AWS
Arquiteturas de Alta Disponibilidade na AWS
 
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWSConhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
 
State of the web
State of the webState of the web
State of the web
 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)
 
CCMS_Launching_Presentation
CCMS_Launching_PresentationCCMS_Launching_Presentation
CCMS_Launching_Presentation
 
Developing for Multiple Platforms
Developing for Multiple PlatformsDeveloping for Multiple Platforms
Developing for Multiple Platforms
 
עמית.ג
עמית.געמית.ג
עמית.ג
 
Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)
 
Software architecture8
Software architecture8Software architecture8
Software architecture8
 
Lahermosabiarritz
LahermosabiarritzLahermosabiarritz
Lahermosabiarritz
 
pengurusan masa
pengurusan masapengurusan masa
pengurusan masa
 
Transporte 1
Transporte 1Transporte 1
Transporte 1
 
Walk by faith_guillermo_maldonado_org
Walk by faith_guillermo_maldonado_orgWalk by faith_guillermo_maldonado_org
Walk by faith_guillermo_maldonado_org
 
Pip
PipPip
Pip
 
Jose victor patiño duran - curriculum
Jose victor patiño duran -  curriculumJose victor patiño duran -  curriculum
Jose victor patiño duran - curriculum
 
PAGINA WEB DE JUAN JACOBO ROSSEAU
PAGINA WEB DE JUAN JACOBO ROSSEAUPAGINA WEB DE JUAN JACOBO ROSSEAU
PAGINA WEB DE JUAN JACOBO ROSSEAU
 

Similar to Continuous delivery - tools and techniques

Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery appliedMike McGarr
 
Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)Mike McGarr
 
Continuous Delivery Applied
Continuous Delivery AppliedContinuous Delivery Applied
Continuous Delivery AppliedExcella
 
Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Mike McGarr
 
DevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud Pies
DevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud PiesDevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud Pies
DevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud PiesCentric Consulting
 
Ci for i-os-codemash-01.2013
Ci for i-os-codemash-01.2013Ci for i-os-codemash-01.2013
Ci for i-os-codemash-01.2013Kevin Munc
 
10 Things You Probably Didn't Know About Plone
10 Things You Probably Didn't Know About Plone10 Things You Probably Didn't Know About Plone
10 Things You Probably Didn't Know About PloneJazkarta, Inc.
 
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)Mike McGarr
 
Cloud native development without the toil
Cloud native development without the toilCloud native development without the toil
Cloud native development without the toilAmbassador Labs
 
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...Daniel Bryant
 
Continuous integration with jenkins
Continuous integration with jenkinsContinuous integration with jenkins
Continuous integration with jenkinsPei-Tang Huang
 
10 Things About Plone - Software Freedom Day 2008
10 Things About Plone - Software Freedom Day 200810 Things About Plone - Software Freedom Day 2008
10 Things About Plone - Software Freedom Day 2008Jazkarta, Inc.
 
11 Tools for your Open Source devops stack
11 Tools for your Open Source devops stack 11 Tools for your Open Source devops stack
11 Tools for your Open Source devops stack Kris Buytaert
 
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...Marcin Grzejszczak
 
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...Daniel Bryant
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable productJulian Simpson
 
Qcon beijing 2010
Qcon beijing 2010Qcon beijing 2010
Qcon beijing 2010Vonbo
 
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
 

Similar to Continuous delivery - tools and techniques (20)

Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery applied
 
Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)
 
Continuous Delivery Applied
Continuous Delivery AppliedContinuous Delivery Applied
Continuous Delivery Applied
 
Continuous Delivery Applied
Continuous Delivery AppliedContinuous Delivery Applied
Continuous Delivery Applied
 
Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)
 
DevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud Pies
DevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud PiesDevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud Pies
DevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud Pies
 
Ci for i-os-codemash-01.2013
Ci for i-os-codemash-01.2013Ci for i-os-codemash-01.2013
Ci for i-os-codemash-01.2013
 
Java User Group Cologne
Java User Group CologneJava User Group Cologne
Java User Group Cologne
 
10 Things You Probably Didn't Know About Plone
10 Things You Probably Didn't Know About Plone10 Things You Probably Didn't Know About Plone
10 Things You Probably Didn't Know About Plone
 
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
 
Cloud native development without the toil
Cloud native development without the toilCloud native development without the toil
Cloud native development without the toil
 
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
 
Continuous integration with jenkins
Continuous integration with jenkinsContinuous integration with jenkins
Continuous integration with jenkins
 
10 Things About Plone - Software Freedom Day 2008
10 Things About Plone - Software Freedom Day 200810 Things About Plone - Software Freedom Day 2008
10 Things About Plone - Software Freedom Day 2008
 
11 Tools for your Open Source devops stack
11 Tools for your Open Source devops stack 11 Tools for your Open Source devops stack
11 Tools for your Open Source devops stack
 
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...
 
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable product
 
Qcon beijing 2010
Qcon beijing 2010Qcon beijing 2010
Qcon beijing 2010
 
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...
 

More from Mike McGarr

Better DevEx at Netflix (QCon NY 2018)
Better DevEx at Netflix (QCon NY 2018)Better DevEx at Netflix (QCon NY 2018)
Better DevEx at Netflix (QCon NY 2018)Mike McGarr
 
Productivity Engineering: Surviving DevOps
Productivity Engineering: Surviving DevOpsProductivity Engineering: Surviving DevOps
Productivity Engineering: Surviving DevOpsMike McGarr
 
Engineering change: leading a transformation
Engineering change: leading a transformationEngineering change: leading a transformation
Engineering change: leading a transformationMike McGarr
 
Dependencies, distributed code and engineering velocity
Dependencies, distributed code and engineering velocityDependencies, distributed code and engineering velocity
Dependencies, distributed code and engineering velocityMike McGarr
 
Continuous Delivery at Netflix, and beyond
Continuous Delivery at Netflix, and beyondContinuous Delivery at Netflix, and beyond
Continuous Delivery at Netflix, and beyondMike McGarr
 
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)Mike McGarr
 
Beyond the Culture Deck: What you don't already know about Netflix
Beyond the Culture Deck: What you don't already know about NetflixBeyond the Culture Deck: What you don't already know about Netflix
Beyond the Culture Deck: What you don't already know about NetflixMike McGarr
 
Shepherding change: leading your DevOps transformation
Shepherding change: leading your DevOps transformationShepherding change: leading your DevOps transformation
Shepherding change: leading your DevOps transformationMike McGarr
 
Zero to the Cloud with @NetflixOSS
Zero to the Cloud with @NetflixOSSZero to the Cloud with @NetflixOSS
Zero to the Cloud with @NetflixOSSMike McGarr
 
Engineering Tools at Netflix: Enabling Continuous Delivery
Engineering Tools at Netflix: Enabling Continuous DeliveryEngineering Tools at Netflix: Enabling Continuous Delivery
Engineering Tools at Netflix: Enabling Continuous DeliveryMike McGarr
 
Implementing DevOps
Implementing DevOpsImplementing DevOps
Implementing DevOpsMike McGarr
 
Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)Mike McGarr
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous DeliveryMike McGarr
 

More from Mike McGarr (13)

Better DevEx at Netflix (QCon NY 2018)
Better DevEx at Netflix (QCon NY 2018)Better DevEx at Netflix (QCon NY 2018)
Better DevEx at Netflix (QCon NY 2018)
 
Productivity Engineering: Surviving DevOps
Productivity Engineering: Surviving DevOpsProductivity Engineering: Surviving DevOps
Productivity Engineering: Surviving DevOps
 
Engineering change: leading a transformation
Engineering change: leading a transformationEngineering change: leading a transformation
Engineering change: leading a transformation
 
Dependencies, distributed code and engineering velocity
Dependencies, distributed code and engineering velocityDependencies, distributed code and engineering velocity
Dependencies, distributed code and engineering velocity
 
Continuous Delivery at Netflix, and beyond
Continuous Delivery at Netflix, and beyondContinuous Delivery at Netflix, and beyond
Continuous Delivery at Netflix, and beyond
 
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)
 
Beyond the Culture Deck: What you don't already know about Netflix
Beyond the Culture Deck: What you don't already know about NetflixBeyond the Culture Deck: What you don't already know about Netflix
Beyond the Culture Deck: What you don't already know about Netflix
 
Shepherding change: leading your DevOps transformation
Shepherding change: leading your DevOps transformationShepherding change: leading your DevOps transformation
Shepherding change: leading your DevOps transformation
 
Zero to the Cloud with @NetflixOSS
Zero to the Cloud with @NetflixOSSZero to the Cloud with @NetflixOSS
Zero to the Cloud with @NetflixOSS
 
Engineering Tools at Netflix: Enabling Continuous Delivery
Engineering Tools at Netflix: Enabling Continuous DeliveryEngineering Tools at Netflix: Enabling Continuous Delivery
Engineering Tools at Netflix: Enabling Continuous Delivery
 
Implementing DevOps
Implementing DevOpsImplementing DevOps
Implementing DevOps
 
Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Recently uploaded (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

Continuous delivery - tools and techniques

  • 1. Con$nuous  Delivery   Tools  and  Techniques   Mike  McGarr   mike.mcgarr@excella.com   h=p://earlyandoAen.wordpress.com     @jmichaelmcgarr  
  • 2. About  Me   •  J.  Michael  (Mike)  McGarr   •  Excella  Consul$ng,  Arlington  VA   •  Lead  of  Excella’s  Java  Center  of  Excellence     2  
  • 4. Con$nuous  Delivery  is…   …a  set  of  prac$ces  and  principles  aimed  at,   building,  tes+ng,  and  releasing  soAware   faster  and  more  frequently.   4
  • 5. 5
  • 6. Goals   Quality   Cycle  Time   6
  • 7. Con$nuous  what?   Continuous Continuous Continuous Integration Delivery Deployment 7
  • 8. Con$nuous  Deployment   Build  Pipelines   Deployment  Automa$on   Configura$on   Con$nuous   Tes$ng   Management   Integra$on   Agile   8
  • 9. Developers   http://flic.kr/p/5cK2 9  
  • 13. JUnit,  Hamcrest  &  Mockito   13
  • 14. 14
  • 15. Spock   15
  • 16. Test  Driven  Development   http://reddevnews.com/articles/2007/11/01/testdriven-development-tdd.aspx 16
  • 18. Sta$c  Code  Analysis   CheckStyle 18
  • 19. The  Team   19  
  • 20. Agile   20
  • 22. Con$nuous  Integra$on   Check-­‐in  Daily   Commit  to  Trunk     Automate  the  Build   Keep  the  Build  Fast   Every  Commit  results  in  Build   Test  in  Clone  of  Produc$on   Automate  Deployment   22
  • 26. Nexus   26
  • 28. Sonar   28
  • 32. Deployment   http://flic.kr/p/y8K 32
  • 38. 38
  • 41. Puppet   41
  • 43. Op$mizing   http://flic.kr/p/6hDAEK 43  
  • 49. Contact  Me   Mike McGarr mike.mcgarr@excella.com http://earlyandoften.wordpress.com @jmichaelmcgarr 49
  • 50. Further  Reading   •  Continuous Delivery: Reliable Software Releases through Build, Test and Deployment Automation, by Jez Humble and David Farley - http://www.amazon.com/Continuous-Delivery-Deployment-Automation- Addison-Wesley/dp/0321601912 •  Test Driven Development (TDD) – http://en.wikipedia.org/wiki/Test-driven_development •  Introducing BDD, by Dan North – http://dannorth.net/introducing-bdd/ •  Agile Manifesto – http://agilemanifesto.org/ •  Scrum – http://www.scrumalliance.org/learn_about_scrum •  Continuous Integration, by Martin Fowler – http://martinfowler.com/articles/continuousIntegration.html •  Specification by Example, by Gojko Adzic - http://specificationbyexample.com/ •  Build Pipelines - http://www.magpiebrain.com/2009/12/13/a-brief-and-incomplete- history-of-build-pipelines/ 50
  • 51. Further  Reading   •  Maven Releases on Steriods, by Axel Fontaine – http://www.axelfontaine.com/2011/01/maven-releases-on-steroids- adios.html •  What is in a Name? Usually a version number, actually., by James Betteley - http://jamesbetteley.wordpress.com/2011/07/07/what-is-in-a-name- usually-a-version-number-actually/ •  Build Once, Deploy Many - http://earlyandoften.wordpress.com/2010/09/09/build-once-deploy- many/ •  Evolutionary Design - http://martinfowler.com/articles/designDead.html •  Continuous Deployment - http://timothyfitz.wordpress.com/2009/02/08/continuous-deployment/ •  Sonar’s Technical Debt Calculation - http://www.sonarsource.org/evaluate-your-technical-debt-with-sonar/ •  Gherkin - https://github.com/cucumber/cucumber/wiki/Gherkin 51
  • 52. Tools   •  Git - http://git-scm.com/ •  Subversion - http://subversion.tigris.org/ •  Mercurial - http://mercurial.selenic.com/ •  Rational ClearCase - http://www-01.ibm.com/software/awdtools/clearcase/ •  Serena Dimensions CM - http://www.serena.com/products/dimensions-cm/index.html •  Ant - http://ant.apache.org/ •  Ivy - http://ant.apache.org/ivy/ •  Maven - http://maven.apache.org/ •  Gradle - http://gradle.org/ •  JUnit – http://www.junit.org/ •  Mockito – http://code.google.com/p/mockito/ •  Hamcrest – http://code.google.com/p/hamcrest/ •  Spock – http://code.google.com/p/spock/ •  dbUnit – http://www.dbunit.org/ •  Unitils – http://unitils.org/summary.html 52
  • 53. Tools   •  Findbugs – http://findbugs.sourceforge.net/ •  PMD – http://pmd.sourceforge.net/ •  Checkstyle – http://checkstyle.sourceforge.net/ •  JIRA – http://www.atlassian.com/software/jira/overview •  GitHub – https://github.com/ •  Jenkins - http://jenkins-ci.org/ •  TeamCity – http://www.jetbrains.com/teamcity/ •  Nexus – http://www.sonatype.org/nexus/ •  Artifactory – http://www.jfrog.com/products.php •  Sonar – http://www.sonarsource.org/ •  FitNesse – •  Concordion – http://www.concordion.org/ •  Cucumber – http://cukes.info/ •  easyb – http://www.easyb.org/ •  jBehave - http://jbehave.org/ •  geb - http://www.gebish.org/ 53
  • 54. Tools   •  Liquibase – www.liquibase.org/ •  Flyway – http://code.google.com/p/flyway/ •  Escape – http://code.google.com/p/escservesconfig/ •  Puppet – http://puppetlabs.com/ •  Chef – http://www.opscode.com/chef/ •  Vagrant – http://vagrantup.com/ •  JMeter – http://jmeter.apache.org/ •  Nagios - http://www.nagios.org/ 54