Docker for Integration Testing

Post on 15-Jan-2015

238 views 8 download

Tags:

description

Docker for Integration Testing, presentation at Docker Amsterdam/Utrecht August 2014.

Transcript of Docker for Integration Testing

Docker for Integration Testing

Wouter Danes Docker Amsterdam / Utrecht, 28 August 2014

API Platform Engineer

Agenda

• Ways I use docker during development

• Fitting docker into your build process

• Docker maven integration

Ways I use docker during development

Shadow IT

Run !“production” !

locally

Proofs!of!

Concept

CI environment

• Spawn build slaves

• No port collisions

• Replace D/T with feature branch deploys

• No version / stack collisions in “environment”

Fitting docker into your build process

build test package testpackage

publish

High level build process

build test package testpackage

publish

build run start stoplinkexpose

tagpush

Docker commands per build step

Docker maven integration

build test package testpackage

publish

build run start stoplinkexpose

tagpush

resourcescompile

test package integration-testverify

installdeploy

Maven vs Docker

docker-maven-plugin• 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

Demo project

References

• Two docker blog posts: www.wouterdanes.net

• Docker maven plugin: github.com/wouterd/docker-maven-plugin

• 12 principles for developing containers well: 12factor.net