building reusable jenkins pipelines - yoram michaeli - devopsdays tel aviv 2017

16

Upload: devopsdays-tel-aviv

Post on 22-Jan-2018

268 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Building Reusable Jenkins Pipelines - Yoram Michaeli - DevOpsDays Tel Aviv 2017
Page 2: Building Reusable Jenkins Pipelines - Yoram Michaeli - DevOpsDays Tel Aviv 2017

The JenkinsForce Awakens

DevOpsDays Tel Aviv

2017

Yoram Michaeli - Tikal

Knowledge

Building reusable Jenkins pipelines

Page 3: Building Reusable Jenkins Pipelines - Yoram Michaeli - DevOpsDays Tel Aviv 2017

Yoram MichaeliFullstack DevOps Technical Leader

Tikal KnowledgeFullstack as a service

Fullstack Developers Israel

Main domains: DevOps, Web, Mobile, Backend

Page 4: Building Reusable Jenkins Pipelines - Yoram Michaeli - DevOpsDays Tel Aviv 2017

So what is that we want to

achieve???

what message do we have?

Page 5: Building Reusable Jenkins Pipelines - Yoram Michaeli - DevOpsDays Tel Aviv 2017

We wantReusable Jenkins pipeline -

Jenkins as a code

Page 6: Building Reusable Jenkins Pipelines - Yoram Michaeli - DevOpsDays Tel Aviv 2017

Better usage of Jenkins pipeline

framework

Explore

main

stages (build, deploy,

test)

Identify

Reusable

Bits

Design

CI

Pipeline

Process

As

a Code

Shift

Left

Use

Shared

Library

Page 7: Building Reusable Jenkins Pipelines - Yoram Michaeli - DevOpsDays Tel Aviv 2017

Upstream jobs Downstream job

Upstream and Downstream

pipeline jobs

Page 8: Building Reusable Jenkins Pipelines - Yoram Michaeli - DevOpsDays Tel Aviv 2017

Shared

library

Page 9: Building Reusable Jenkins Pipelines - Yoram Michaeli - DevOpsDays Tel Aviv 2017

I speak fluently over six

million languages…

why Groovy???

Page 10: Building Reusable Jenkins Pipelines - Yoram Michaeli - DevOpsDays Tel Aviv 2017

Simple tasks

Send the

troopers!!!

sendTroopers.groovy

Page 11: Building Reusable Jenkins Pipelines - Yoram Michaeli - DevOpsDays Tel Aviv 2017

complex flows

BUILD TESTDEPLOY

Basic CI flow

Overwrite basic CI steps

Page 12: Building Reusable Jenkins Pipelines - Yoram Michaeli - DevOpsDays Tel Aviv 2017

tikal-pipelib

TPL

Page 13: Building Reusable Jenkins Pipelines - Yoram Michaeli - DevOpsDays Tel Aviv 2017

• https://github.com/tikalk/tikal-pipelib

• SHARED LIBRARY THAT CONTAINS:

• BASIC ACTIONS- E.G. ADVANCED-SLACK-NOTIFICATION

• COMPLEX FLOW CLASSESWITH INHERITANCE

• COMMUNITY DRIVEN LIBRARY

tikal-pipelib

Page 14: Building Reusable Jenkins Pipelines - Yoram Michaeli - DevOpsDays Tel Aviv 2017

• https://github.com/tikalk/tikal-pipelib-touchstone

• REPOSITORY THAT CONTAINS:

• PIPELINE CODE EXAMPLES -COLLECTION BASED ON WORK DONE FOR TIKAL’S CUSTOMERS

• TESTS & IMPLEMENTATIONS OF TIKAL-PIPELIB

• COMMUNITY DRIVEN LIBRARY

tikal-pipelib-touchstone

Page 15: Building Reusable Jenkins Pipelines - Yoram Michaeli - DevOpsDays Tel Aviv 2017

Presented by: Yoram MichaeliBackstage team: Tikal Knowledge DevOps group

GitHub repository: tikal-pipelib

More info: [email protected]

Page 16: Building Reusable Jenkins Pipelines - Yoram Michaeli - DevOpsDays Tel Aviv 2017

Presented by: Yoram MichaeliBackstage team: Tikal Knowledge DevOps group

GitHub repository: tikal-pipelib

More info: [email protected]