Jenkins Workflow - An Introduction

Download Jenkins Workflow - An Introduction

Post on 15-Jan-2017

323 views

Category:

Technology

3 download

Embed Size (px)

TRANSCRIPT

<p>Jenkins WorkflowAn Introduction</p> <p>DefinitionCurrent LandscapeJenkins Workflow PluginWhere does it fit in?Agenda</p> <p>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 - Wikipediaa bullshit management word for a process in which they dont understand - Urban DictionaryDefinition</p> <p>What is a workflow?</p> <p>Balance between the two</p> <p>3rd Party PluginsPromoted Builds PluginBuild Flow PluginBuild Pipeline PluginParameterized Trigger Plugin</p> <p>Built-in PluginsPost-build Action (job chaining)Current landscape</p> <p>these are just some of the ways to create a workflow in Jenkins</p> <p>10 / Hub Services have used a mix of these</p> <p>There are also visualisation plugins</p> <p>promoted builds plugin - CDM?build flow plugin - groovy DSL (inspired the Jenkins Workflow Plugin)</p> <p>Issues</p> <p>Multiple build workflow pluginsPlugins do not work with othersUnmaintained or abandoned pluginsPlugins not keeping pace with Jenkins versions</p> <p>The more plugins you have the worse these problems get</p> <p>enter the new Workflow plugin (irony of above image is not lost on me)</p> <p>Officially supported Unification of previous approachesDefine build workflows in code (Groovy)Some DSL elementsJenkins Workflow Plugin</p> <p>technically a set of interdependent pluginsofficially supported! confidence</p> <p>Suspendable (and resumable)Define workflow stagesComplex logic (try/catch, parallel jobs, concurrency)Human approval (e.g. ready to deploy?)Visualisation (basic)Snippet generatorFeatures</p> <p>Global codebase (across projects)Entire workflow in a single jobTest your workflow code(?)What this gives us</p> <p>global codebase promotes re-use (and limits duplication)workflows in codequalitycode reviewsstandards</p> <p>how do we currently test Jenkins jobs? We run them! And thats it...</p> <p>Classic Jenkins Workflow</p> <p>Improved (Jenkins Job Builder)</p> <p>Classic method</p> <p>Further Improved... (Jenkins Job Builder + Jenkins Workflow Plugin)</p> <p>http://udaypal.com/2015-04-08-continuous-delivery-using-jenkins-workflow/http://udaypal.com/jenkins-workflow-getting-started/</p> <p>Want to find out more?</p> <p>Vagrant VM with Jenkins + plugins:https://github.com/bsnape/vagrant-jenkins</p> <p>Example workflow code: https://github.com/bsnape/jenkins-workflow-example</p> <p>Workflow plugin announcement: http://jenkins-ci.org/content/workflow-plugin-10</p> <p>Tour of features and working example:http://udaypal.com/2015-04-08-continuous-delivery-using-jenkins-workflow/http://udaypal.com/jenkins-workflow-getting-started/</p>

Recommended

View more >