Streamlining your CI with Docker and Containers

Preview:

Citation preview

@ChrisSeanAgile

CHRIS EDWARDS, P.ENG.SEAN DUNN, CD, P.ENG., PMP

Streamline your CIwith docker /concourse.ci

@ChrisSeanAgile C S&

Master

“Z” machine

“R” Machine

“A” MachineNew

“Slave”

Always acting upNeeds frequent reboots

Has special packages installed for legacy project

Template used for future machine setup

@ChrisSeanAgile

Gavin McCance - CERNhttps://www.slideshare.net/gmccance/cern-data-centre-evolution

@ChrisSeanAgile

@ChrisSeanAgile

@ChrisSeanAgile C S&

@ChrisSeanAgile C S&

web

worker

db

@ChrisSeanAgile C S&

@ChrisSeanAgile C S&

@ChrisSeanAgile C S&

@ChrisSeanAgile C S&

@ChrisSeanAgile C S&

@ChrisSeanAgile C S&

@ChrisSeanAgile C S&

@ChrisSeanAgile C S&

@ChrisSeanAgile C S&

@ChrisSeanAgile C S&

@ChrisSeanAgile C S&

@ChrisSeanAgile C S&

web

worker

db

@ChrisSeanAgile C S&

Concourse.ci basics• Resources• Tasks• Jobs

@ChrisSeanAgile C S&

Tasks• Execution of a script in an isolated

environment with dependent resources available to it.

http://concourse.ci/concepts.html

@ChrisSeanAgile C S&

Resources• Any entity that can be checked for new

versions, pulled down at a specific version, and/or pushed up to idempotently create new versions

http://concourse.ci/concepts.html

@ChrisSeanAgile C S&

Resources• Any entity that can be checked for new

versions, pulled down at a specific version, and/or pushed up to idempotently create new versions

http://concourse.ci/concepts.html

@ChrisSeanAgile C S&

Resources• Git• Mercurial• Time• S3• .tar.gz archives• docker-image• Cloud Foundry• … Many more• Your own custom resourcehttp://concourse.ci/concepts.html

@ChrisSeanAgile C S&

jobs• Some actions to perform when dependent

resources change (or when manually triggered).

• For example, you may define a job that runs your unit tests whenever new code is pushed to a repository.

http://concourse.ci/concepts.html

@ChrisSeanAgile C S&

Resources

Jobs

@ChrisSeanAgile C S&

web

worker

db

@ChrisSeanAgile C S&

web

worker

db

@ChrisSeanAgile C S&

web

worker

db

@ChrisSeanAgile C S&

web

worker

db

@ChrisSeanAgile C S&

web

worker

db