Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Managing Jenkins with Gradle

Managing Jenkins with Gradle

From Gradle Summit 2014

Gary Hale

June 13, 2014
Tweet

More Decks by Gary Hale

Other Decks in Programming

Transcript

  1. Extensible Open Source Active Ecosystem Why is Jenkins Awesome? Jenkins

    Open Source Distributed Model Distributed Model Extensible
  2. Why is Jenkins Not Awesome? When we get beyond a

    handful of Jobs, it becomes tedious to maintain
  3. Couple Configuration with Project Track Changes Motivations Discipline Track Changes

    Couple Configuration with Project Perform Validations/Comparison
  4. Leverage Existing Skillset DRY Delegate Minimize Overhead Rebuild from Scratch

    Delegate Motivations Maintenance Minimize Overhead DRY Rebuild from Scratch Leverage Existing Skillset Enforce Standards
  5. Evolution of Jenkins Management Manual Solutions Manual Edits Copy From

    Existing Script Solutions Script Console System Groovy Script Scriptler Job-like Solutions Jenkins Template Plugin Jenkins Job DSL Plugin External Solutions Jenkins Job Builder Gradle Jenkins Plugin Growth / Complexity
  6. Limited Parameters Groovy Jenkins Model Extremely Powerful Script Solutions Limited

    Parameters Jenkins Model Extremely Powerful Groovy Better for One-offs
  7. Storable No Validation Template Jobs Powerful DSL Job-like Solutions Powerful

    DSL Job DSL Plugin Storable Template Jobs No Validation One instance
  8. XML Manipulation Template Jobs Jenkins Job DSL Programmatic External Solutions

    Programmatic Gradle Jenkins Plugin XML Manipulation Jenkins Job DSL Template Jobs Create/Delete/Validate
  9. Does it make sense to manage jenkins with a build

    automation tool? Question (Think About It…)
  10. Gradle Jenkins Plugin jenkins { servers { … } templates

    { … } jobs { … } views { … } } Conventions