Docker recently hit version 1.0 and is being picked up around the world by Ops teams to ease running their applications. Docker can also play a big role in easing the development of applications. In this talk I will address how to use docker to: - create a more scalable build environment using jenkins and docker; - integration test your software using maven and docker; - package your software and run the images in different environments.
3. Agenda
• What is docker?
• Ways I use Docker for Development
• Using Docker to Scale CI
• Integrating Docker in your Build Process
• Demo app
• Wouldn’t it be great if..
17. Docker Maven Plugin Zoo
• 12 github projects
• Varying focus, some better than
others
• pick the one that best fits your
purpose
• Some interesting ones:
– wouterd/docker-maven-plugin
– rhuss/docker-maven-plugin
– spotify/docker-maven-plugin
– rhuss/docker-maven-plugin
18. What should a maven plugin do?
• Build docker images
• Start containers
• Link containers
• Wait for containers to finish
initialisation
• Expose URLs / port info to
integration tests
• Clean up
• Push images to an index /
registry
20. Wouldn’t It Be Great If..
• Every team would publish
– Application images
– Application test images
– Something describing their dependencies
– Or maybe an image that builds their
environment?
21.
22.
23.
24. Wouldn’t It Be Great If..
• Every team would publish
– Application images
– Application test images
– Something describing or creating their dependencies
• And then you could:
– Auto-test against new dependencies?
– Auto-test dependants vs your new version?