← 글 목록

notes

Jenkins - PipeLine (Log)

Jenkins Pipeline 실행 로그 확인·해석과 장애 추적 포인트 정리.

  • 로그는 대부분 echo 하나로 충분하다
  • 경고는 warning 이 아니라 unstable 을 쓴다
  • error 는 빌드를 그 자리에서 멈춘다

로그 남기는 방법

파이프라인 디버깅할 때 제일 많이 쓰는 건 echo 다. steps 안에서 바로 쓸 수 있고, script 블록 안에서는 Groovy 라서 println 도 된다. 브랜치나 파라미터가 제대로 들어왔는지는 변수를 찍어 보면 바로 나온다.

로그 예제 파이프라인
pipeline {
    agent any
    stages {
        stage('Log') {
            steps {
                echo '일반 로그 메시지'

                script {
                    println '스크립트 안에서 찍는 로그'
                }

                echo "현재 브랜치: ${env.BRANCH_NAME}"

                // 빌드를 UNSTABLE 로 표시하고 계속 진행
                unstable('경고 메시지')

                // 빌드를 FAILURE 로 만들고 여기서 중단
                error('에러 메시지')
            }
        }
    }
}

경고와 중단

처음에 warning "메시지" 로 썼는데 이런 스텝은 기본으로 없다. 경고를 남기고 싶으면 unstable 을 쓴다. 빌드는 계속 가는데 스테이지가 노란색으로 표시돼서 눈에 띈다.

error 는 그 자리에서 파이프라인을 멈추고 빌드를 실패로 만든다. 조건이 안 맞을 때 더 진행하면 안 되는 곳에 넣는다.

명령 하나가 실패해도 끝까지 돌리고 싶을 때는 warnError 로 감싼다. 안에서 에러가 나면 UNSTABLE 로 바꾸고 다음 단계로 넘어간다.

warnError('테스트 실패, 계속 진행') {
    sh 'pnpm test'
}

로그 보는 곳

보통은 Stage View 에서 어느 단계가 빨간지 보고, Console Output 으로 들어가서 전체 로그를 본다. 로그가 길면 Pipeline Steps 에서 단계별로 끊어 보는 게 편하다.