2.4 KiB
2.4 KiB
Key CI/CD/Jenkins Concepts and their Usage
Using the REST API for common operations
- Create a new user named
buildbot. - Add adminstration permissions for the user.
- Log in with user
buildbot. - Generate the API token for the user.
- Generate a Jenkins crumb from the command line.
- Export the environment variables
JENKINS_CRUMBandJENKINS_API_TOKENwith the correct values. - Trigger a build of the job
gradle-initializrwith acurlcommand using the REST API. - Disable the job
gradle-initializrwith acurlcommand using the REST API. - Reenable the job
gradle-initializrwith acurlcommand using the REST API. - Download the Jenkins CLI client.
- Trigger the build of the job
gradle-initializrwith acurlcommand using the Jenkins CLI.
Show Solution
Create the new user.
Add user permissions.
Generate the API token.
Generate the Jenkins crumb from the CLI.
$ curl -u "buildbot:pwd" 'http://localhost:8080/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)'
Jenkins-Crumb:890d0b4c9c1b111deb55b196813a0ae1
$ export JENKINS_CRUMB=Jenkins-Crumb:890d0b4c9c1b111deb55b196813a0ae1
$ export JENKINS_API_TOKEN=11e2f3c68399b6bc3a28bc06e002be104d
Trigger a build with the curl command.
$ curl -X POST -H "$JENKINS_CRUMB" http://buildbot:$JENKINS_API_TOKEN@localhost:8080/job/gradle-initializr/build
Disable the job via the REST API. You will see that the job indicated its status.
$ curl -X POST -H "$JENKINS_CRUMB" http://buildbot:$JENKINS_API_TOKEN@localhost:8080/job/gradle-initializr/disable
Reenable the job.
$ curl -X POST -H "$JENKINS_CRUMB" http://buildbot:$JENKINS_API_TOKEN@localhost:8080/job/gradle-initializr/enable
Download the Jenkins URL by calling the URL localhost:8080/jnlpJars/jenkins-cli.jar from the browser.
In the terminal, navigate to the directory that contains the Jenkins CLI JAR file. Use the Jenkins CLI to trigger a build with the correct command. This simply provide the password instead of the API token.
$ java -jar jenkins-cli.jar -s http://localhost:8080 -auth buildbot:pwd build gradle-initializr



