본문 바로가기

개발/젠킨스

Jenkins Global 환경변수

젠킨스의 어떤 Job에서 사용할 수 있는 변수들

환경변수들을 확인할 pipeline Job 생성

  • 예제 Declarative Scripted
    pipeline {
      agent any
      stages {
          stage('Example1') {
              steps {
                  sh 'printenv'
              }
          }
      }
    }
  • 빌드하고 로그 통해서 환경변수들 확인

Web UI로 등록해보기

  • Jenkins 관리 => 시스템 설정 => Global properties 항목
  • 새로 추가할 환경 변수 저장
  • 위에서 만든 Job으로 추가한 환경 변수들 확인

Scripted 에서 환경변수 추가하고 사용하기

  • 최상위 파이프라인 블록에 사용되는 environment directive는 파이프라인 내의 모든 단계에 적용

  • stage 내에 정의된 environment directive는 주어진 환경 변수를 stage 내에만 적용한다.
    예제

    pipeline {
      agent any
      environment { 
          CC = 'clang'
      }
      stages {
          stage('Example1') {
              steps {
                  echo "Running ${env.BUILD_ID} on ${env.JENKINS_URL}"
              }
          }
    
          stage('Example2') {
              environment { 
                  DEBUG_FLAGS = '-g'
              }
              steps {
                  sh 'printenv'
              }
          }
    
          stage('Example3') {
              steps {
                  echo "${env.DEBUG_FLAGS}"
              }
          }
      }
    }
  • 위에서 만든 Job의 pipeline을 변경하고 빌드한 후 로그로 확인

동적으로 환경변수 설정하기

기본 환경변수들

  • BUILD_ID : 현재 빌드 ID
  • BUILD_NUMBER : 현재 build number를 나타냄
  • BUILD_TAG : jenkins-${JOB_NAME}-${BUILD_NUMBER} 조합의 문자
  • BUILD_URL : http://server:port/jenkins/job/foo/15/와 같은 현재 build의 URL을 알려준다.
  • JOB_NAME : 현재 빌드중인 Job의 이름, JOB 생성 시 작성했던 이름
  • BRANCH_NAME : multibranch Job인 경우 사용 가능, 현재 빌드되고 있는 브랜치명을 알려줌
    깃허브 연동하고 Branches to build를 작성한 경우에 사용 가능
  • JENKINS_URL : http://server:port/jenkins/와 같은 jenkins의 URL을 알려줌
  • JOB_URL : http://server:port/jenkins/job/foo/와 같은 job의 URL을 알려준다

참고