Jenkins is listening on TCP port for JNLP agents. Download from http://jenkins-master:8080/cli, onto any server you wish to remotely control Jenkins
wget http://jenkins-master:8080/jnlpJars/jenkins-cli.jar
Running and connecting depends on a connection method you choose.
$ java -jar jenkins-cli.jar -s http://jenkins-master:8080 help --username jenkins --password *** $ java -jar jenkins-cli.jar -s http://jenkins-master:8080 help -i ~/.ssh/id_rsa $ java -jar jenkins-cli.jar -s http://jenkins-master:8080 list-jobs $ java -jar jenkins-cli.jar -s http://jenkins-master:8080 build 'My Awesome Jenkins Job' -i ~/.ssh/id_rsa -s -v
Running a job with multiple parameters, username position is required to be at the end; version verified here is 2.67
$ java -jar jenkins-cli.jar -s http://jenkins-master:8080 build 'Terraform' \ -p ACTION=plan \ -p LOCATION=dev11/midw/aat1 \ -p BUILD_TAG_TERRAFORM=refs/heads/master \ -p BUILD_TAG_SECRETS=refs/heads/master \ --username user1 --password password1
For passing parameters use the -p key=value
flag for each parameter you want to pass.
Workaround: Under “Authorization”, you want to turn on “Matrix-based security” and then for the “anonymous” user enable “Read” mode for the “Job” section.