Jenkins Workflow - An Introduction

Post on 15-Jan-2017

344 views 3 download

Transcript of Jenkins Workflow - An Introduction

Jenkins WorkflowAn Introduction

● Definition● Current Landscape● Jenkins Workflow Plugin● Where does it fit in?

Agenda

“an orchestrated and repeatable pattern of business activity enabled by the systematic organization of resources into processes that transform materials, provide services, or process information” - Wikipedia

“a bullshit management word for a process in which they don’t understand” - Urban Dictionary

Definition

3rd Party Plugins● Promoted Builds Plugin● Build Flow Plugin● Build Pipeline Plugin● Parameterized Trigger Plugin

Built-in Plugins● Post-build Action (job chaining)

Current landscape

Issues

● Officially supported ● Unification of previous approaches● Define build workflows in code (Groovy)● Some DSL elements

Jenkins Workflow Plugin

● Suspendable (and resumable)● Define workflow ‘stages’● Complex logic (try/catch, parallel jobs, concurrency)● Human approval (e.g. ready to deploy?)● Visualisation (basic)● Snippet generator

Features

● Global codebase (across projects)● Entire workflow in a single job● Test your workflow code(?)

What this gives us

Classic Jenkins Workflow

Improved… (Jenkins Job Builder)

Further Improved... (Jenkins Job Builder + Jenkins Workflow Plugin)

● http://udaypal.com/2015-04-08-continuous-delivery-using-jenkins-workflow/

● http://udaypal.com/jenkins-workflow-getting-started/

Want to find out more?

Vagrant VM with Jenkins + plugins:❏ https://github.com/bsnape/vagrant-jenkins

Example workflow code: ❏ https://github.com/bsnape/jenkins-workflow-example

Workflow plugin announcement: ❏ http://jenkins-ci.org/content/workflow-plugin-10

Tour of features and working example:❏ http://udaypal.com/2015-04-08-continuous-delivery-using-jenkins-workflow/❏ http://udaypal.com/jenkins-workflow-getting-started/