The Jenkins Templating Engine (JTE) is a plugin originally created by Booz Allen Hamilton enabling pipeline templating and governance.
JTE brings the Template Method Design Pattern to Jenkins pipelines. Users can remove the Jenkinsfile from individual source code repositories in favor of a centralized, tool-agnostic Pipeline Template. This template provides the structure of the pipeline.
Pipeline functionality is provided by Library Steps. For example, if the Pipeline Template references a build()
step then the implementation of build()
can be deferred to a user-developed library providing that step such as a Maven or Gradle library.
A hierarchical Pipeline Configuration is used for each individual pipeline to determine which libraries to load (among other things).
There are many resources available to help you get started:
- Documentation
- Presentations
- Blog Posts
There are many ways to get involved. We look forward to hearing from you.
JTE has a channel in the Jenkins community's gitter space. It's a great place to ask questions or propose ideas for the future of JTE.
Something not quite working right? Have a cool idea for how to make JTE better? Open an Issue on the JTE repository and let's get the conversation started.
No contribution is too small - all are appreciated!
Check out the Contributing Section of the documentation to understand how to get started.