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/two
It 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