Top Banner
23

DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose

Apr 16, 2017

Download

Technology

Docker, Inc.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
Page 2: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose

Agenda

1. Introduction

2. Microservices Architecture

3. CI Workflow

4. Benefits of Docker and Compose in CI

5. Future Work

Page 3: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
Page 4: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose

About Me

I I work as Platform Tech Lead at Oxford University Press(OUP)

I I deal with system architecture and DevOps (CI, Docker,AWS, deployment)

I I started using Docker in November 2014 for developinglanguage resources at OUP

Page 5: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose

About My Employer

I Oxford University Press (OUP) is a world-renowneddictionary publisher

I OUP launched the Oxford Global Languages (OGL) initiativeto digitize under-represented languages

I In August 2015 OUP launched two African languages websitesfor Zulu and Northern Sotho

Page 6: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose

Zulu and Nothern Sotho Language Websitespowered by Docker

Page 7: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
Page 8: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose

System Architecture Challenges

I We needed to migrate to more powerful servers andeventually to the cloud

I Some services were only needed for the developmentenvironment

I We wanted to put system configuration under versioncontrol and replicate it easily on new machines

I We wanted to automate building processes

Page 9: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose

Microservices Architecturedev/staging environments

Page 10: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose

Microservices Architectureproduction environment

Page 11: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
Page 12: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose

Continuous Integration Workflow

Page 13: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose

Walkthrough

I will show you:

I Jenkins jobs to run:I unit testsI Docker image build and container restart

I Shell scripts invoked by Jenkins

I Docker Compose file

I Simulation ofI successful buildI unsuccessful build

Page 14: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
Page 15: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
Page 16: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose

Benefits of Docker

I Docker isolates components and allows their organic growth

I Docker facilitates the replication of dev/staging/productionenvironments

I The system architecture is under version control

I Docker facilitates blue/green deployment

Page 17: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose

Benefits of ComposeI Compose facilitates the orchestration of linked containers

I Compose allows to have a single script for all theenvironments

I Developers can start/stop/rebuild containers without anydeep knowledge of Docker

Page 18: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
Page 19: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose

Future Work

I Deploy Docker containers in master/slave architecture

I Experiment with Amazon EC2 Container Service (ECS)

I Automate, Automate, Automate!

Page 20: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
Page 21: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose

Summary

I hope I managed to show you:

I How we use Jenkins to build and start applications runningon Docker

I How we orchestrate containers with Docker Compose insidedifferent environments

I How we automated our CI workflow

Page 22: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose

Acknowledgements

Artemis Parvizi

Meritxell Gonzalez

Kal Ahmed

Matt Kohl

Page 23: DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose