Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Codito Ergo Sum - Continuous Delivery with Google Container Engine, Docker and Travis

Codito Ergo Sum - Continuous Delivery with Google Container Engine, Docker and Travis

Presentation slides for Codito Ergo Sum, hosted by TheFamily in Paris, Jan 19th 2017.

Jacopo Daeli

January 19, 2017
Tweet

More Decks by Jacopo Daeli

Other Decks in Technology

Transcript

  1. Continuous Delivery with Google Container Engine, Docker and Travis Jacopo

    Daeli Software Engineer Paris, Jan 19th 2017 Codito Ergo Sum - TheFamily
  2. 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.
  3. 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.
  4. 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).
  5. 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.
  6. 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.
  7. 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.