Slide 1

Slide 1 text

Continuous Delivery with Google Container Engine, Docker and Travis Jacopo Daeli Software Engineer Paris, Jan 19th 2017 Codito Ergo Sum - TheFamily

Slide 2

Slide 2 text

What am I going to show you? How you can create a Continuos Delivery pipeline with Google Container Engine (GKE), Docker, Travis and GitHub. In easy words: how you can use Travis for testing and deploying applications as a Docker containers on Google Container Engine.

Slide 3

Slide 3 text

What is CI? Continuous integration (CI) is a software engineering practice in which isolated changes in the code are consecutively tested.The aim of CI is to provide rapid feedback so that if a defect is introduced into the code base, it can be identified and corrected as soon as possible. Continuous integration tools can be used to automate the testing and the building phases: Travis, CircleCI, etc.

Slide 4

Slide 4 text

What is CD? Continuous delivery (CD) goes one step further by ensuring every build can also be deployed into a production-like environment (and then pass integration tests in that environment).

Slide 5

Slide 5 text

What is GKE? GKE is a cluster manager and orchestration system for running your Docker containers, powered by Kubernetes (K8S). GKE is a managed service in Google Cloud Platform (GCP). GCP also offers a fully managed Docker private registry, called Google Container Registry (GCR), which makes easy to store and access your private Docker images.

Slide 6

Slide 6 text

Why Travis? Travis integrates very well with GitHub. It runs tests in isolation. Since it is a managed service, you do not have to manage your own infrastructure.

Slide 7

Slide 7 text

The Concept Commit and push code in a feature/hotfix branch -> Travis tests the new code -> If tests pass, you open a pull request for merging to master ->Travis tests the merged code -> If tests pass, a docker image is built, pushed to GCR and deployed in the K8S cluster.