DevOps Classroom Series – 29/Sept/2020

Parameters in Jenkins

  • Lets create a free style project with build parameters
  • Save the jenkins job and click on Build Now. Inspect the console output
  • The parameters which we have used are referred as User Defined Parameters.
  • Internally Jenkins has lot of parameters in the form of environmental varaibles. Click on configure the job and navigate to build section
  • Add set statement to your invoke shell in build steps. The output is
BUILD_DISPLAY_NAME='#2'
BUILD_ID='2'
BUILD_NUMBER='2'
BUILD_TAG='jenkins-jenkinsparamdemo-2'
BUILD_URL='http://172.31.6.230:8080/job/jenkinsparamdemo/2/'
DBUS_SESSION_BUS_ADDRESS='unix:path=/run/user/113/bus'
EXECUTOR_NUMBER='0'
HOME='/var/lib/jenkins'
HUDSON_COOKIE='5edf7bc2-4aa8-4893-9b9d-41823b373889'
HUDSON_HOME='/var/lib/jenkins'
HUDSON_SERVER_COOKIE='0f64874a236d77fe'
HUDSON_URL='http://172.31.6.230:8080/'
IFS=' 	
'
IS_RELEASE_BUILD='true'
JENKINS_HOME='/var/lib/jenkins'
JENKINS_SERVER_COOKIE='0f64874a236d77fe'
JENKINS_URL='http://172.31.6.230:8080/'
JOB_BASE_NAME='jenkinsparamdemo'
JOB_DISPLAY_URL='http://172.31.6.230:8080/job/jenkinsparamdemo/display/redirect'
JOB_NAME='jenkinsparamdemo'
JOB_URL='http://172.31.6.230:8080/job/jenkinsparamdemo/'
LANG='C.UTF-8'
LOGNAME='jenkins'
MAIL='/var/mail/jenkins'
NODE_LABELS='Master master'
NODE_NAME='master'
OPTIND='1'
PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin'
PPID='744'
PS1='$ '
PS2='> '
PS4='+ '
PWD='/var/lib/jenkins/workspace/jenkinsparamdemo'
RUN_ARTIFACTS_DISPLAY_URL='http://172.31.6.230:8080/job/jenkinsparamdemo/2/display/redirect?page=artifacts'
RUN_CHANGES_DISPLAY_URL='http://172.31.6.230:8080/job/jenkinsparamdemo/2/display/redirect?page=changes'
RUN_DISPLAY_URL='http://172.31.6.230:8080/job/jenkinsparamdemo/2/display/redirect'
RUN_TESTS_DISPLAY_URL='http://172.31.6.230:8080/job/jenkinsparamdemo/2/display/redirect?page=tests'
SHELL='/bin/bash'
SHLVL='0'
USER='jenkins'
WORKSPACE='/var/lib/jenkins/workspace/jenkinsparamdemo'
WORKSPACE_TMP='/var/lib/jenkins/workspace/jenkinsparamdemo@tmp'
XDG_DATA_DIRS='/usr/local/share:/usr/share:/var/lib/snapd/desktop'
XDG_RUNTIME_DIR='/run/user/113'
XDG_SESSION_CLASS='background'
XDG_SESSION_ID='c1'
XDG_SESSION_TYPE='unspecified'
_='/usr/bin/daemon'
branch='master'
destination='/tmp'

Upstream and Downstream jobs

  • Real time relevance:

  • In many cases jobs will be triggered from other jobs. In the above example the ansible deployment job will be triggered after the maven package job

  • Lets consider the Job to

    • build maven package as A
    • Deploy application using Ansbile as B
    • Execute Tests as C
  • Lets visualize this

  • Now Job-B becomes downstream job for Job A and Job-C become downstream job Job-B

  • Now Job-A becomes upstream job for Job B and Job-B becomes upstream job for Job C

  • Create a jenkins job to create upstream and downstream from post build actions

  • The same dependency structure can be achieved by using Build Triggers

Next Steps:

  • Pipeline as a code
    • Scripted Pipelines
    • Declarative Pipelines

Leave a ReplyCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Please turn AdBlock off
Plugin for Social Media by Acurax Wordpress Design Studio

Discover more from Direct DevOps from Quality Thought

Subscribe now to keep reading and get access to the full archive.

Continue reading

Exit mobile version
%%footer%%