Skip to content

jenkinsci/seed-plugin

Repository files navigation

Seed Jenkins plug-in

The Seed project aims to help automating the generation and management of pipelines for branches of a project in Jenkins, by splitting the definition of pipelines using the Job DSL and their use and parameterization by actual projects.

Quick links:

Overview

The following presentations are available about the story of the Seed plug-in and its use in a large scale set-up:

The Seed structure can be generated automatically

  • seed --> project seed
  • project seed --> branch seed for a given branch
  • branch seed --> pipeline for this branch

Generator overview

The branch pipeline generation is configured using some files on the branch. Different setup are possible according to the level of isolation and reuse you want for a project:

Pipeline overview

  • in the direct DSL mode, the branch contains directly the Job DSL script which defines its pipeline
  • if this script needs extra helper classes, a property file can be added to define a list of dependencies to download and associate to the classpath of the Job DSL script
  • finally, if a direct script is not possible for reuse or security reasons, the Job DSL script itself can be downloaded from an external pipeline library

The plugin implementation is illustrated by the diagram below:

Implementation overview

Documentation

Documentation is available in the Wiki.