if [ -n "$job_status" ] then # Run your script commands here else echo "BUILD FAILURE: Other build is unsuccessful or status could not be obtained." exit 1 fi
Tag: Jenkins Tutorial
Limited Time Offer!
For Less Than the Cost of a Starbucks Coffee, Access All DevOpsSchool Videos on YouTube Unlimitedly.
Master DevOps, SRE, DevSecOps Skills!
Environment variables and properties defined in jenkins | Jenkins Tutorial
Environment variables and properties defined in jenkins
Jenkins Set Environment Variables
When a Jenkins job executes, it sets some environment variables that you may use in your shell script, batch command, Ant script or Maven POM 1. The following table contains a list of all of these environment variables.
Environment Variable | Description |
---|---|
BUILD_NUMBER | The current build number, such as “153” |
BUILD_ID | The current build id, such as “2005-08-22_23-59-59” (YYYY-MM-DD_hh-mm-ss, defunct since version 1.597) |
BUILD_URL | The URL where the results of this build can be found (e.g. http://buildserver/jenkins/job/MyJobName/666/) |
NODE_NAME | The name of the node the current build is running on. Equals ‘master’ for master node. |
JOB_NAME | Name of the project of this build. This is the name you gave your job when you first set it up. It’s the third column of the Jenkins Dashboard main page. |
BUILD_TAG | String of jenkins-${JOB_NAME}-${BUILD_NUMBER}. Convenient to put into a resource file, a jar file, etc for easier identification. |
JENKINS_URL | Set to the URL of the Jenkins master that’s running the build. This value is used by Jenkins CLI for example |
EXECUTOR_NUMBER | The unique number that identifies the current executor (among executors of the same machine) that’s carrying out this build. This is the number you see in the “build executor status”, except that the number starts from 0, not 1. |
JAVA_HOME | If your job is configured to use a specific JDK, this variable is set to the JAVA_HOME of the specified JDK. When this variable is set, PATH is also updated to have $JAVA_HOME/bin. |
WORKSPACE | The absolute path of the workspace. |
SVN_REVISION | For Subversion-based projects, this variable contains the revision number of the module. If you have more than one module specified, this won’t be set. |
CVS_BRANCH | For CVS-based projects, this variable contains the branch of the module. If CVS is configured to check out the trunk, this environment variable will not be set. |
GIT_COMMIT | For Git-based projects, this variable contains the Git hash of the commit checked out for the build (like ce9a3c1404e8c91be604088670e93434c4253f03) (all the GIT_* variables require git plugin) |
GIT_URL | For Git-based projects, this variable contains the Git url (like git@github.com:user/repo.git or [https://github.com/user/repo.git]) |
GIT_BRANCH | For Git-based projects, this variable contains the Git branch that was checked out for the build (normally origin/master) |
Promoted Build Plugin Environment Variables
If you are using the Promoted Build Plugin, you will have access to the following environment variables. This allows you to access information about your Jenkins build since certain environment variables stated above (such as BUILD_TAG now refer to the Promoted Build Plugin’s job.
Environment Variable | Replaces | Description |
---|---|---|
PROMOTED_URL | BUILD_URL | The URL of the original Jenkins job that is involved with the promotion. BUILD_URL now refers to the Promotion’s URL |
PROMOTED_JOB_NAME | JOB_NAME | The name of the original Jenkins job that is involved with the promotion. JOB_NAME now refers to the Promotion’s job’s name |
PROMOTED_NUMBER | BUILD_NUMBER | The Build Number of the job being promoted. BUILD_NUMBER now refer’s the the Promotion Number |
PROMOTED_ID | BUILD_ID | The Build ID (ex. “2005-08-22_23-59-59” (YYYY-MM-DD_hh-mm-ss) ) of the original Jenkins job. BUILD_ID now refer’s to the Promotion’s build ID. |
System Properties
Name ↓ | Value |
---|---|
awt.toolkit | sun.awt.X11.XToolkit |
com.sun.akuma.Daemon | daemonized |
executable-war | /usr/lib/jenkins/jenkins.war |
file.encoding | UTF-8 |
file.encoding.pkg | sun.io |
file.separator | / |
java.awt.graphicsenv | sun.awt.X11GraphicsEnvironment |
java.awt.headless | true |
java.awt.printerjob | sun.print.PSPrinterJob |
java.class.path | /usr/lib/jenkins/jenkins.war |
java.class.version | 52.0 |
java.endorsed.dirs | /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/jre/lib/endorsed |
java.ext.dirs | /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/jre/lib/ext:/usr/java/packages/lib/ext |
java.home | /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/jre |
java.io.tmpdir | /tmp |
java.library.path | /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib |
java.runtime.name | OpenJDK Runtime Environment |
java.runtime.version | 1.8.0_111-b15 |
java.specification.name | Java Platform API Specification |
java.specification.vendor | Oracle Corporation |
java.specification.version | 1.8 |
java.vendor | Oracle Corporation |
java.vendor.url | http://java.oracle.com/ |
java.vendor.url.bug | http://bugreport.sun.com/bugreport/ |
java.version | 1.8.0_111 |
java.vm.info | mixed mode |
java.vm.name | OpenJDK 64-Bit Server VM |
java.vm.specification.name | Java Virtual Machine Specification |
java.vm.specification.vendor | Oracle Corporation |
java.vm.specification.version | 1.8 |
java.vm.vendor | Oracle Corporation |
java.vm.version | 25.111-b15 |
JENKINS_HOME | /var/lib/jenkins |
jna.loaded | true |
jna.platform.library.path | /usr/lib64:/lib64:/usr/lib:/lib:/usr/lib64/mysql |
jnidispatch.path | /tmp/jna–1712433994/jna4147775405825940943.tmp |
line.separator | |
mail.smtp.sendpartial | true |
mail.smtps.sendpartial | true |
os.arch | amd64 |
os.name | Linux |
os.version | 3.10.0-514.el7.x86_64 |
path.separator | : |
sun.arch.data.model | 64 |
sun.boot.class.path | /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/jre/lib/resources.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/jre/lib/rt.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/jre/lib/jsse.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/jre/lib/jce.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/jre/lib/charsets.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/jre/lib/jfr.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/jre/classes |
sun.boot.library.path | /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/jre/lib/amd64 |
sun.cpu.endian | little |
sun.cpu.isalist | |
sun.font.fontmanager | sun.awt.X11FontManager |
sun.io.unicode.encoding | UnicodeLittle |
sun.java.command | /usr/lib/jenkins/jenkins.war –logfile=/var/log/jenkins/jenkins.log –webroot=/var/cache/jenkins/war –daemon –httpPort=8080 –debug=5 –handlerCountMax=100 –handlerCountMaxIdle=20 |
sun.java.launcher | SUN_STANDARD |
sun.jnu.encoding | UTF-8 |
sun.management.compiler | HotSpot 64-Bit Tiered Compilers |
sun.os.patch.level | unknown |
svnkit.http.methods | Digest,Basic,NTLM,Negotiate |
svnkit.ssh2.persistent | false |
user.country | US |
user.dir | / |
user.home | /var/lib/jenkins |
user.language | en |
user.name | jenkins |
user.timezone | America/New_York |
Environment Variables
Name ↓ | Value |
---|---|
_ | /etc/alternatives/java |
HOME | /var/lib/jenkins |
LANG | en_US.UTF-8 |
LOGNAME | jenkins |
NLSPATH | /usr/dt/lib/nls/msg/%L/%N.cat |
PATH | /sbin:/usr/sbin:/bin:/usr/bin |
PWD | / |
SHELL | /bin/bash |
SHLVL | 2 |
USER | jenkins |
XFILESEARCHPATH | /usr/dt/app-defaults/%L/Dt |
Plugins
Name ↓ | Version | Enabled | Pinned |
---|---|---|---|
ace-editor | 1.1 | true | false |
ant | 1.4 | true | false |
antisamy-markup-formatter | 1.5 | true | false |
bouncycastle-api | 2.16.0 | true | false |
branch-api | 1.11.1 | true | false |
build-timeout | 1.18 | true | false |
cloudbees-folder | 5.16 | true | false |
credentials | 2.1.10 | true | false |
credentials-binding | 1.10 | true | false |
display-url-api | 0.5 | true | false |
durable-task | 1.12 | true | false |
email-ext | 2.53 | true | false |
external-monitor-job | 1.7 | true | false |
git | 3.0.1 | true | false |
git-client | 2.2.0 | true | false |
git-server | 1.7 | true | false |
github | 1.25.1 | true | false |
github-api | 1.84 | true | false |
github-branch-source | 1.10.1 | true | false |
github-organization-folder | 1.5 | true | false |
gradle | 1.25 | true | false |
handlebars | 1.1.1 | true | false |
icon-shim | 2.0.3 | true | false |
jacoco | 2.1.0 | true | false |
javadoc | 1.4 | true | false |
jira | 2.3 | true | false |
jobConfigHistory | 2.15 | true | false |
jquery | 1.11.2-0 | true | false |
jquery-detached | 1.2.1 | true | false |
junit | 1.19 | true | false |
ldap | 1.13 | true | false |
mailer | 1.18 | true | false |
mapdb-api | 1.0.9.0 | true | false |
matrix-auth | 1.4 | true | false |
matrix-project | 1.8 | true | false |
maven-plugin | 2.14 | true | false |
momentjs | 1.1.1 | true | false |
pam-auth | 1.3 | true | false |
pipeline-build-step | 2.4 | true | false |
pipeline-graph-analysis | 1.3 | true | false |
pipeline-input-step | 2.5 | true | false |
pipeline-milestone-step | 1.3 | true | false |
pipeline-rest-api | 2.4 | true | false |
pipeline-stage-step | 2.2 | true | false |
pipeline-stage-view | 2.4 | true | false |
plain-credentials | 1.3 | true | false |
resource-disposer | 0.3 | true | false |
scm-api | 1.3 | true | false |
script-security | 1.25 | true | false |
sonar | 2.5 | true | false |
ssh-credentials | 1.12 | true | false |
ssh-slaves | 1.12 | true | false |
structs | 1.5 | true | false |
subversion | 2.7.1 | true | false |
thinBackup | 1.9 | true | false |
timestamper | 1.8.7 | true | false |
token-macro | 2.0 | true | false |
windows-slaves | 1.2 | true | false |
workflow-aggregator | 2.4 | true | false |
workflow-api | 2.8 | true | false |
workflow-basic-steps | 2.3 | true | false |
workflow-cps | 2.23 | true | false |
workflow-cps-global-lib | 2.5 | true | false |
workflow-durable-task-step | 2.7 | true | false |
workflow-job | 2.9 | true | false |
workflow-multibranch | 2.9.2 | true | false |
workflow-scm-step | 2.3 | true | false |
workflow-step-api | 2.7 | true | false |
workflow-support | 2.12 | true | false |
ws-cleanup | 0.32 | true | false |
Useful Plugins
https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin
Reference
https://wiki.jenkins-ci.org/display/JENKINS/Building+a+software+project
http://jenkins:8080/systemInfo
How to Trigger builds remotely in Jenkins? | Jenkins Tutorials | scmGalaxy
WORKING WITH NEW JENKINS
> wget –auth-no-challenge –user=admin –password=5ad344f0518640f62d0483084bb889bc http://13.126.143.49:8080/job/ANT//build?token=iFBDOBhNhaxL4T9ass93HRXun2JF161Z
If you are using wget 1.11 against Jenkins version 1.586 and above with the JENKINS-25169 fix, you might need to use the following options:
wget –auth-no-challenge –http-user=user –http-password=apiToken –secure-protocol=TLSv1 http://jenkins.yourcompany.com/job/your_job/build?token=TOKEN
If you are using wget 1.11, you might need to use the following options:
wget –auth-no-challenge –http-user=user –http-password=apiToken http://jenkins.yourcompany.com/job/your_job/build?token=TOKEN
With wget 1.10.x the following is enough (but will not work with 1.11.x) :
wget http://user:apiToken@jenkins.yourcompany.com/job/your_job/build?token=TOKEN
Jenkins Backup and Restore Process | Jenkins Tutorial
What are the ways to Login Jenkins using Command line ?
Ways to Login Jenkins using Command line
&
Way to trigger Jenkins job using Command line or script
Wget
Note: If you are using wget 1.11, you might need to use the following options:
wget --auth-no-challenge --http-user=user --http-password=apiToken http://jenkins.yourcompany.com/job/your_job/build?token=TOKEN
With wget 1.10.x the following is enough (but will not work with 1.11.x) :
wget http://user:apiToken@jenkins.yourcompany.com/job/your_job/build?token=TOKEN
ex – wget http://yourserver/job/MyJobname/build?delay=0sec
CURL
Without authentication:
$ curl http://jenkins:8080/job/my%20job/build [ HTML page saying "Authentication required" ]
With authentication:
$ curl --user dbacher:$MY_API_TOKEN http://jenkins:8080/job/my%20job/build [ returns nothing and the build starts ]
curl -X POST http://server/view/name/job/jobname/build?delay=0sec --user 1019352:61bb8531292794315f5dda8113548630
Login Jenkins using groovy script or Perl Script or Java, please refer the reference page…
Reference:
https://wiki.jenkins-ci.org/display/JENKINS/Authenticating+scripted+clients
https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API
How to Integrate Jenkins with SVN ? | Jenkins Integration with SVN Guide
Hi Rajesh,