This repository serves as a scaffold to jumpstart a new set of libraries for the Jenkins Templating Engine (JTE).
It comes with some best practices baked in to help you get off on the right foot with JTE.
Feature | Description |
---|---|
Documentation | Generate a MkDocs site to document libraries |
Unit Tests | Integrated with Jenkins Spock for testing libraries |
Release Automation | Automates publishing new versions via the Justfile |
Automated Changelogs | Integrates Release Drafter |
This repository uses Material for MkDocs as the documentation framework.
Component | Description |
---|---|
Landing Page | By default, the README.md at the root of this repository will become the landing page for the documentation. This behavior is overridden if there is an index.md file in the docs directory. |
Contributing Page | If present, the CONTRIBUTING.md is transformed into a Contributing page in the documentation site |
Library Documentation | Each library should have a README.md that gets compiled into the documentation |
Miscellaneous Documentation | Any non-library specific documentation can be placed in the docs directory. |
These transformations happen by utilizing the gen-files
plugin for MkDocs.
The resources/copy_docs.py
script performs the repository transformations for the documentation.
Unit tests can be written using Jenkins Spock.
These tests should go in the test
directory for each library.
Run ./gradlew jte
to package the libraries as a stand alone plugin.
To cut a new release, run:
just release $version
Which will:
- create a
release/$version
branch - create a
$version
tag - publish the documentation for the version and upate the
latest
documentation alias
Release Drafter is used to automate release note updates as Pull Requests are opened to main
.
The configuration for Release Drafter exists in the .github/release-drafter.yml
file and uses GitHub Actions.