? what
JJB creates Jenkins XML configuration file from a YAML/JSON definition file and just uploads it to Jenkins.
? why
You can keep your job descriptions in human readable text format in a version control system to make changes and auditing easier. It also has a flexible template system, so creating many similarly configured jobs is easy.
? industrial standard
- build a wrapper script allows the JJB
jenkins-jobs
command line tool to be used as a Bazelpex_binary
.
ref: https://www.pydoc.io/pypi/jenkins-job-builder-2.0.9/autoapi/cli/entry/index.html - build Bazel macro
jjb_config
which involves
writes the .ini configuration file used by JJB
generates Jenkins XML from job definitions
run consistency test which compares the generated XML to reference XML which is checked in
pushes configurations to Jenkins