Top Banner
DevOps / CI / CD ç ç
26

MeetUp Concourse Zurich

Feb 10, 2017

Download

Technology

Jan Svoboda
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: MeetUp Concourse Zurich

DevOps / CI / CDō

ō

Page 2: MeetUp Concourse Zurich

INTRO

Jan Svoboda Pivotal Platform Architect

IBM DevOps Architect [2011-2016]

HP R&D engineer [2006-2011]

Page 3: MeetUp Concourse Zurich

Boring theory

Page 4: MeetUp Concourse Zurich

What is DevOps???

2

Page 5: MeetUp Concourse Zurich

What do I want to achieve?

Page 6: MeetUp Concourse Zurich

Who benefits? And how to measure?

Source https://www.gartner.com/doc/2753718/datadriven-devops-use-metrics-help

Page 7: MeetUp Concourse Zurich

Examples…

Page 8: MeetUp Concourse Zurich

Assessment model / Gap analysis

Source http://www.ibm.com/developerworks/library/d-adoption-paths/

Page 9: MeetUp Concourse Zurich

My first pipeline in 2012

Page 10: MeetUp Concourse Zurich

My theory of 3 layers

Page 11: MeetUp Concourse Zurich

Full stack pipelines

Page 12: MeetUp Concourse Zurich

How we solve this at Pivotal?

Page 13: MeetUp Concourse Zurich
Page 14: MeetUp Concourse Zurich

“Concourse was dreamt up and built while working on the Cloud Foundry project and experiencing the interesting CI and CD challenges that it has”

http://concourse.ci/

Page 15: MeetUp Concourse Zurich

Why use Concourse for CI & CD?

Page 16: MeetUp Concourse Zurich

First class pipelines

Page 17: MeetUp Concourse Zurich

Build isolation

Docker images as the base of your jobs

Page 18: MeetUp Concourse Zurich

Simplicity & Reproducibility

Pipeline as a Code - only one config file

Page 19: MeetUp Concourse Zurich

Fly CLI

manage and update pipelines

Page 20: MeetUp Concourse Zurich

CONCOURSE CONCEPTS

Page 21: MeetUp Concourse Zurich

RESOURCES“A resource is any entity that can be checked for new versions, pulled down at a specific version, and/or pushed up to idempotently create new versions”

Page 22: MeetUp Concourse Zurich

JOBS

Functions with inputs and outputs, that automatically run when new inputs are available.

A Job consists of a sequence of tasks and operations on resources that can run in serial or parallel”

Page 23: MeetUp Concourse Zurich

TASK“A task is the execution of a script in an isolated environment with dependent resources available to it.

It can be executed in a Job or via the Fly CLI”

Page 24: MeetUp Concourse Zurich

Demo

Build->Test->Deploy GIT->AWS->CF

Page 25: MeetUp Concourse Zurich

vagrant init concourse/lite vagrant up

https://concourse.ci/hello-world.html

Tutorial: https://github.com/starkandwayne/concourse-tutorial

GETTING STARTED