Jenkins Pipeline 파라미터 받을 때 주의사항!

Bobby·2023년 8월 16일
0

오답노트

목록 보기
5/6
post-thumbnail

💦 삽질 상황(-ㅅ-)

jenkins pipeline 스크립트를 작성하다보면 외부에서 파라미터를 받아와서 동적으로 값을 변경하여 사용할 때가 있다.

나는 뭔가 공통으로 자꾸 뽑으려고 하는 습성(?)이 있어서 파라미터를 많이 쓰는데...
간만에 새로운 스크립트를 작성하던 중 파라미터 값이 안불러와 지는 문제가 발생했다.


💦 삽질 재현

아이템 생성

  • 파이프라인 아이템을 하나 생성한다.

  • String 파라미터를 하나 추가 해보자.

스크립트 작성

pipeline {
    agent any
    
    stages {
        stage('print parameters') {
            steps {
                echo '파라미터 출력!!!! ==> $test'
            }
            
        }
    }
}

실행

  • 실행하니 다음과 같이 값이 출력 되지 않음...

무엇이 문제인가..

정답은!

,
,
,
,


💦 삽질 해결

  • 문제의 원인은 바로 따옴표에 있었다.
  • groovy 문법에서 작은 따옴표는 문자열로만 인식하고 변수를 사용하려면 반드시 큰 따옴표를 사용해야 한다.
  • 보너스로 괄호는 생략해도 된다.

스크립트 작성

pipeline {
    agent any
    
    stages {
        stage('print parameters') {
            steps {
                echo '작은 따옴표 사용, 중괄호 생략 ==> $test'
                echo '작은 따옴표 사용, 중괄호 포함 ==> ${test}'
                echo "큰 따옴표 사용, 중괄호 생략 ==> $test"
                echo "큰 따옴표 사용, 중괄호 포함 ==> ${test}"
            }
            
        }
    }
}

실행

  • 출력 완료!

P.S.

  • 실제로 문제가 발생했을 때는 스크립트가 길어서 다른 곳에서 문제가 생기는 줄 알고 뒤늦게 찾게 됨.
  • 자바 개발자이다 보니 항상 큰따옴표만 사용하는데 요즘 혼용되는 js, dart, solidity, 이런거 하다보니 대충 섞어 쓰게됨.
  • 앞으로는 무!조!건! 큰 따옴표다.
profile
물흐르듯 개발하다 대박나기

1개의 댓글

comment-user-thumbnail
2023년 8월 16일

정보에 감사드립니다.

답글 달기