Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Release notes for 3.17


The primary use case of this came from the idea of a "Jenkins slave appliance" — a virtual machine pre-packaged with the swarm client CLI — that someone can just grab and run.

With the swarm client, a person who's willing to contribute some of his computing power to the cluster just needs to run this virtual machine, and the cluster automatically gets additional resources. Because it's packaged as a VM, there is no need not to worry about the builds/tests interfering with the host system or altering its settings unexpectedly.


  1. Install the swarm plugin from the update centerUpdate Center
  2. Download the CLI agent from here.
  3. Run the CLI agent like with java -jar path/to/swarm-client.jar. There 's are no required command option, but -line options; run with the -help option to see the available options.


Available Options

No Format
% java$ java -jar swarm-client.jar --help
 -autoDiscoveryAddress VAL              : Use this address for udpUDP-based
                                          auto-discovery (default
 -candidateTag VAL                      : Show swarm candidate with tag only
 -deleteExistingClients                 : Deletes any existing slave with the
                                          same name.
 -description VAL                       : Description to be put on the slave
 -disableClientsUniqueId                : Disables Clientsclient's unique ID.
 -disableSslVerification                : Disables SSL verification in the
 -executors N                           : Number of executors
 -fsroot FILE                           : Directory where Jenkins places files
 -help (--help)                         : Show the help screen
 -labels VAL                            : Whitespace-separated list of labels
                                          to be assigned for this slave.
                                          Multiple options are allowed.
 -labelsFile VAL                        : File location with space delimited
                                          list of labels.  If the file changes,
                                          restartsthe this client.  -logFile VAL                           : File to write STDOUT and STDERR to.
                                          (Deprecated, use -Djava.util.logging.c
 -is restarted.
 -master VAL                            : The complete target Jenkins URL like
                                          'http://server:8080/jenkins/'. If
                                          this option is specified,
                                          auto-discovery will be skipped
 -maxRetryInterval N                    : Max time to wait before retry in
                                          seconds. Default is 60 seconds.
 -mode MODE                             : The mode controlling how Jenkins
                                          allocates jobs to slaves. Can be
                                          either 'normal' (utilize this slave
                                          as much as possible) or 'exclusive'
                                          (leave this machine for tied jobs
                                          only). Default is 'normal'.
 -name VAL                              : Name of the slave
 -noRetryAfterConnected                 : Do not retry if a successful
                                          connection gets closed.
 -password VAL                          : The Jenkins user password
 -passwordEnvVariable VAL               : Environment variable that the
                                          password is stored in
 -passwordFile VAL                      : PathFile tocontaining the fileJenkins whichuser
contains the                                          password
 -pidFile VAL                           : File to write PID to
 -retry N                               : Number of retries before giving up.
                                          Unlimited if not specified.
 -retryBackOffStrategy RETRY_BACK_OFF_S : The mode controlling retry wait time.
 TRATEGY                                  Can be either 'none' (use same
interval                                          interval between retiresretries) or 'linear'
(increase                                          (increase wait time before each retry
up to                                         up to maxRetryInterval) or
'exponential'                                          'exponential' (double wait interval
on each retry                                        on each retry up to maxRetryInterval).
Default is                                         Default is 'none'.
 -retryInterval N                       : Time to wait before retry in seconds.
                                          Default is 10 seconds.
 -showHostName (--showHostName)         : Show hostnameshostname instead of IP address
 -sslFingerprints VAL                   : Whitespace-separated list of accepted
                                          certificate fingerprints
                                          (SHA-256/Hex), otherwise system
                                          truststore will be used. No
                                          revocation, expiration or not yet
                                          valid check will be performed for
                                          custom fingerprints! Multiple options
                                          are allowed.
 -t (--toolLocation)                    : A tool location to be defined on this
                                          slave. It is specified as
 -tunnel VAL                            : Connect to the specified host and
                                          port, instead of connecting directly
                                          to Jenkins. Useful when connection to
                                          HudsonJenkins needs to be tunneled. Can be
                                          also HOST: or :PORT, in which case
                                          the missing portion will be
                                          auto-configured like the default
 -username VAL                          : The Jenkins username for


This error indicates that the Jenkins master running at the given URL has never configured, and therefore the swarm client cannot determine its HTTP URL. To fix this problem, please go to the system configuration screen of this Jenkins, and click "submit".


Version 3.


17 (June 2, 2019)
Version 3.16 (May 21, 2019)
  • Swarm Plugin
    • Update minimum Jenkins core requirement to 2.60.3 (#87)
    • Remove unnecessary field (#85)
  • Swarm Plugin Client
    • Disable DTDs completely in all XML parsers to prevent XML External Entity (XXE) attacks (#84)
    • Update Jenkins Remoting version from 3.28 to 3.30 (#78, full changelog)