This is very specific to a project I am currently working in. What it does is to read a configuration file in the format:
hostname: my-jenkins.example.com
port: 8181
ssh-config: /home/thomasbach-dev/my-ssh-config
path-selector: job-one
path-map:
job-one:
/job/path/to/workspace/one
job-two:
/job/path/to/workspace/twoIt then connects to the specified server, fetches the console output of the latest completed build, extracts machine names and IPs and writes these information into a nicely formatted SSH configuration. You simply have to include that configuration and can use short names to connect to the machines.
To get a feel of the options and flexibilty of the command:
Usage: jtsc [-c|--config-file FILE] [-s|--path-selector SEL] [-n|--job-num NUM]
[-p|--prefix STR] [-a|--append]
Generates a SSH configuration file from a Jenkins job.
Available options:
-c,--config-file FILE The path to the configuration to read.
-s,--path-selector SEL The path to choose from the path map defined in the
configuration.
-n,--job-num NUM The job number to fetch from Jenkins. (Defautlts to
'lastCompletedBuild'.)
-p,--prefix STR Prefix to put in front of host
name. (default: "unv-")
-a,--append Append to config instead of overwriting.
-h,--help Show this help text