building ci/cd pipelines with jenkins and kubernetes

10
Building CI/CD Pipelines with Jenkins and Kubernetes Janakiram MSV Google Developer Expert @janakiramm Joseph Jacks Entrepreneur @asynchio

Upload: janakiram-msv

Post on 21-Jan-2018

505 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Building CI/CD Pipelines with Jenkins and Kubernetes

Building CI/CD Pipelines with Jenkins and Kubernetes

Janakiram MSVGoogle Developer Expert@janakiramm

Joseph JacksEntrepreneur@asynchio

Page 2: Building CI/CD Pipelines with Jenkins and Kubernetes

Agenda

● What is CI/CD?

● Deployment Features of Kubernetes

● Configuring Github

● Configuring Jenkins

● Building Integrated Pipeline

Page 3: Building CI/CD Pipelines with Jenkins and Kubernetes

What is Continuous Integration & Continuous Deployment?

● A development methodology of developer integration to deliver automated

builds

● Seamless integration of development, testing, staging, and production

deployment phases

● Encourages hands-free, automated deployments

○ Every commit results in a new build

● Based on “try fast and fail fast” paradigm

● Important aspect of DevOps

Page 4: Building CI/CD Pipelines with Jenkins and Kubernetes

CI/CD Pipelines

http://bit.ly/2vH4HnS

Page 5: Building CI/CD Pipelines with Jenkins and Kubernetes

Containers & CI/CD

● Containers have put CI/CD on steroids

● Container image is becoming the defacto packaging mechanism

● Images are smaller than VM templates

● Containers are provisioned and unprovisioned much faster than VMs

● Container Registry has become the centralized location to store artifactsSource Code

Container

Image

Container

Registry

Container

Platform

Page 6: Building CI/CD Pipelines with Jenkins and Kubernetes

Targeting Kubernetes with CI/CD

● Kubernetes is an ideal candidate for integrating CI/CD pipelines

● API-first design

● CLI / Automation

● PaaS-like capabilities for managing deployments

● Blue/Green deployments

● Canary deployments

● Decoupled approach to services and pods

kubectl set image deployment <deployment> <container>=<image>

kubectl rollout history deployment <deployment>

kubectl rollout undo deploy/<deployment>

Page 7: Building CI/CD Pipelines with Jenkins and Kubernetes

What is Jenkins?

● Open source Continuous Integration tool written in Java with plugins built

for Continuous Integration purpose.

● Integrates with

○ Source code control system

○ Testing tools

○ Provisioning tools

○ Configuration management

○ Deployment targets

Page 8: Building CI/CD Pipelines with Jenkins and Kubernetes

DemoBuilding End-to-End Pipeline with Github,

Jenkins, Kubernetes

Page 9: Building CI/CD Pipelines with Jenkins and Kubernetes

Announcing the Next WebinarRegister at http://www.kube.live

Title - Helm & Monocular: The easiest way to discover and deploy your

favorite applications on KubernetesIf you’re just getting started with Kubernetes, you might be looking for a simple way to launch and discover your favorite applications you most likely use in a VM or even locally already. That’s where Helm & Monocular go hand-in hand and will help simplify your Kubernetes usage.With Helm, you are able to a deploy a secure, and up-to-date, containerized application (also called a Helm Chart) with just a single command.

● Why Helm charts make it simple to launch your favorite applications on Kubernetes● How to install Helm to deploy your first Helm Chart● How to find and launch your favorite applications via Monocular

Speaker - Adnan Abdulhussein, Core Contributor to the Helm Project +

Software Engineer for Bitnami

When - September 13th, 9AM PDT | 9:30 PM IST

Page 10: Building CI/CD Pipelines with Jenkins and Kubernetes

Thank You!http://[email protected]