Skip to content

thomasbach-dev/unv-jenkins-to-ssh-config

Repository files navigation

Generate SSH configuration file from Jenkins job output

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.

Help message of the script

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

About

Univention specific helper tool to fetch IP addresses from Jenkins.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published