Implementing continuous deployment

from automatic builds to automatically
       running and tested code

           Andrew Phillips
          Robert van Loghem
Origin


Andrew Phillips
       aphillips@xebialabs.com



                        Robert van Loghem
                                 rvanloghem@xebialabs.com
                                 @soundbites

    www.xebialabs.com
    @xebialabs
Why are you here?!
Path to incompleteness

                 0 9!
          o 20
      o
    oo
S oo
Path to incompleteness
Path to incompleteness
Path to incompleteness


application
Path to incompleteness
Path to incompleteness
Get your fully running app
where it needs to be
Checklist
• Write your application so it can
  be deployed to any environment
• Define a complete deployment
  package
• Automate your deployment
• Integrate with your upstream
  systems
• Hooking it all up
Write your application so it can
be deployed to any environment



    +            =




    +            =
Know your application and
environment customization
points

         JMX
                    .properties


                          JNDI
         Database

                     Shared libraries

         XML
                             Classpath
Define a complete deployment
   package

Deployment Package
 Manifest
        Java EE artifacts

            Resource files

      Middleware resources

      Post-deployment tests

         Dependencies
Automate your deployment

                        Sooo ooo 2009!
                                                           tests
                                           Post-deployment
Java EE artifacts


                          Resource files




                    Middleware resources
Automate your deployment

             Customize and Deploy
Is this the same for any app?
Do you actually want to care
and code it up?
Just find an automation tool!
Integrate with your upstream
systems
The final picture
Hooking it all up
       WebShere ND and Apache HTTPD
Thanks for listening at 08.00!

Implementing Continuous Deployment