[Jenkins] Jenkins Pipeline environment variables 사용 및 전체 리스트 출력하기
Jenkins Pipeline은 전역 변수인 environment variables를 통해 Jenkins에서 제공하는 다양한 환경 변수를 사용할 수 있습니다. 해당 정보를 통해 빌드 또는 테스트를 다르게 구성하도록 설정할 수 있으며 CI 시 필요한 정보에도 사용할 수 있습니다.
environment variables 사용 및 전체 리스트를 출력하는 방법을 알아봅시다.
environment variables 사용하기
environment variables를 사용하기 위해서는 env.
을 통해 사용하고자 하는 환경 변수를 뒤에 선언해줍니다.
테스트를 위해 JOB_NAME
항목과 BUILD_ID
항목을 출력하기 위한 pipeline을 작성해봤습니다.
pipeline {
agent any
stages {
stage('test-use-environment-variables') {
steps {
echo "env.JOB_NAME : ${env.JOB_NAME}"
echo "env.BUILD_ID : ${env.BUILD_ID}"
}
}
}
}
pipeline을 실행하여 결과 값을 확인합니다.
환경 변수 JOB_NAME
항목과 BUILD_ID
항목의 값을 확인하실 수 있습니다.
[Pipeline] Start of Pipeline
[Pipeline] {
[Pipeline] stage
[Pipeline] { (test-use-environment-variables)
[Pipeline] echo
env.JOB_NAME : jenkins-test-pipeline-001
[Pipeline] echo
env.BUILD_ID : 101
[Pipeline] }
- env.JOB_NAME : jenkins-test-pipeline-001
- env.BUILD_ID : 101
pipeline에서 사용하고자 하는 구문에 ${env.DATA}
형식으로 환경 변수를 사용할 수 있습니다.
environment variables 전체 리스트 출력하기
environment variables의 전체 리스트를 출력하여 사용할 수 있는 환경 변수를 확인할 수 있습니다.
Git Repository 및 사용하는 Plugins 등에 따라 출력되는 항목은 다를 수 있습니다.
테스트를 위해 전체 리스트를 출력하기 위한 pipeline을 작성해봤습니다.
pipeline {
agent any
stages {
stage('test-use-environment-variables') {
steps {
sh 'printenv'
}
}
}
}
pipeline을 실행하여 결과 값을 확인합니다.
해당 pipeline에서 제공하는 environment variables 전체 리스트를 확인하실 수 있습니다.
(Private한 정보는 숨김처리 했습니다)
environment variables 전체 리스트
+ printenv
gitlabSourceRepoURL=ssh://git@################################################/test-project.git
JENKINS_HOME=/var/jenkins_home
GIT_PREVIOUS_SUCCESSFUL_COMMIT=553623fdd4a070d4d20866df329e0da685025cf6
JENKINS_UC_EXPERIMENTAL=https://updates.jenkins.io/experimental
CI=true
RUN_CHANGES_DISPLAY_URL=http://################################################/job/jenkins-test-pipeline-001/104/display/redirect?page=changes
gitlabAfter=dd77bc3d4dbae981b83223144f00d3e8cd2d2df6
HOSTNAME=2dedf5df6d0f
SHLVL=0
NODE_LABELS=built-in cicd-jenkins
HUDSON_URL=http://################################################/
GIT_COMMIT=dd77bc3d4dbae981b83223144f00d3e8cd2d2df6
HOME=/var/jenkins_home
BUILD_URL=http://################################################/job/jenkins-test-pipeline-001/104/
HUDSON_COOKIE=e1ab8579-0e43-4c87-b99d-d3429a902ad1
gitlabTargetBranch=cicd-jenkins
JENKINS_SERVER_COOKIE=durable-ed442d3ad3a22f5c36c67c83bb48f7b34155799687da888ff49fc84e1cced00a
JENKINS_UC=https://updates.jenkins.io
gitlabSourceRepoHttpUrl=https://################################################/test-project.git
gitlabUserUsername=test-user
WORKSPACE=/var/jenkins_home/workspace/jenkins-test-pipeline-001@3
REF=/usr/share/jenkins/ref
gitlabMergeRequestLastCommit=dd77bc3d4dbae981b83223144f00d3e8cd2d2df6
NODE_NAME=built-in
gitlabSourceRepoSshUrl=ssh://git@################################################/test-project.git
RUN_ARTIFACTS_DISPLAY_URL=http://################################################/job/jenkins-test-pipeline-001/104/display/redirect?page=artifacts
STAGE_NAME=test-use-environment-variables
GIT_BRANCH=origin/cicd-jenkins
gitlabSourceRepoHomepage=https://################################################/test-project
EXECUTOR_NUMBER=0
gitlabBranch=cicd-jenkins
RUN_TESTS_DISPLAY_URL=http://################################################/job/jenkins-test-pipeline-001/104/display/redirect?page=tests
BUILD_DISPLAY_NAME=#104
gitlabSourceBranch=cicd-jenkins
JENKINS_VERSION=2.387.1
JENKINS_INCREMENTALS_REPO_MIRROR=https://repo.jenkins-ci.org/incrementals
HUDSON_HOME=/var/jenkins_home
GO_VERSION=1.19
JOB_BASE_NAME=jenkins-test-pipeline-001
PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
BUILD_ID=104
gitlabBefore=f9b8a1cd2c0a396543d73f4df1d808e3a4f43fa4
BUILD_TAG=jenkins-jenkins-test-pipeline-001-104
gitlabActionType=PUSH
JENKINS_URL=http://################################################/
LANG=C.UTF-8
JOB_URL=http://################################################/job/jenkins-test-pipeline-001/
gitlabSourceRepoName=test-project
GIT_URL=https://################################################/test-project.git
gitlabSourceNamespace=experiment
BUILD_NUMBER=104
JENKINS_NODE_COOKIE=4dac1e72-512f-4f72-8c9b-6e7d94748b11
RUN_DISPLAY_URL=http://################################################/job/jenkins-test-pipeline-001/104/display/redirect
JENKINS_SLAVE_AGENT_PORT=50000
HUDSON_SERVER_COOKIE=a600b39245c6beef
JOB_DISPLAY_URL=http://################################################/job/jenkins-test-pipeline-001/display/redirect
JOB_NAME=jenkins-test-pipeline-001
COPY_REFERENCE_FILE_LOG=/var/jenkins_home/copy_reference_file.log
PWD=/var/jenkins_home/workspace/jenkins-test-pipeline-001@3
JAVA_HOME=/opt/java/openjdk
gitlabUserName=홍길동
GIT_PREVIOUS_COMMIT=3f6dff84fe6d6497a120f7668efc65ef140a21c1
WORKSPACE_TMP=/var/jenkins_home/workspace/jenkins-test-pipeline-001@3@tmp
GITLAB_OBJECT_KIND=none
Jenkins Pipeline environment variables 사용 및 전체 리스트 출력하는 작업을 완료하였습니다...! 끝...!
유익하게 보셨다면 공감을 눌러주고, 댓글로 의견을 공유해 남겨주시면 감사하겠습니다!
[Reference]
'CI-CD > Jenkins' 카테고리의 다른 글
[Jenkins] Jenkins GitHub 프로젝트 연동하기 02 (0) | 2023.04.05 |
---|---|
[Jenkins] Jenkins GitHub 프로젝트 연동하기 01 (0) | 2023.04.04 |
[Jenkins] Jenkins TimeZone 변경하기 (0) | 2023.03.16 |
[Jenkins] Jenkins root 계정 패스워드 복구 (0) | 2023.03.15 |
[Jenkins] Jenkins Plugin HTTP 프록시 설정 (0) | 2023.03.14 |