2025. 2. 17. 21:00ㆍDevops/Jenkins
Jenkins Pipeline에서 Branch를 변수값(ex: dev,main 등) default값을 주어 기본적으로 사용하는 경우가 많다..
근데 default값을 말고도 사용자가 때로는 테스트용으로 타 브런치를 이용해 빌드 후 해당 이미지를 사용한다 생각해보자..
그럼 내가 직접 들어가서 branch 변수를 변경하고 나와서 빌드하고. 굉장히 번거로운 일을 하게 되는것이다.
이런부분을 해결하기 위해 Branch를 직접 선택하는 옵션을 추가하는 방법을 적용해보자한다.
1. 빌드 매개변수 선택
plugins : Generic Webhook Trigger가 먼저 필요합니다.. 먼저 설치 후 빌드의 매개변수를 선택해줍니다.

- Name : Git parameter의 Name
- Parameter Type : branch로 선택
- Default Value : 해당 git parameter를 선택 안할 시 사용되는 Branch 명
2. Genetric Webhook Trigger
해당 Webhook Trigger을 설치 시 Pipeline안에서 해당 Trigger를 선택할 수 있다. 해당 부분을 클릭후 아래와 같이 입력하면 된다. 중요한거는 Experisspion(정규식)을 $.ref로 선택해줘야한다.

그리고 맨밑으로 내려가보면 Optional Filter 을 선택 후 해당 부분을 입력해준다. 중요한건 정규표현식이다.. 해당 정규표현식으로 모든 branch 내용을 가져오게 끔 하는게 중요하다.

3. Pipeline 설정
파라미터 변수 값을 받을 먼저 함수를 만들어준다.
해당 함수는 pipeline 밖에 만들어줘서야 하므로 맨 밑에 작성하는게 좋다.
def getBranchENV() {
def paramBranch = "${branch}"
def finalBranch = "${paramBranch.split('/')[-1]}"
print "getENV() - gitBranch : ${finalBranch}"
해당 함수를 사용하기 위한 변수 설정을 진행한다
def branch = getBranchENV()
4. 결과
적용이 완료되면 해당 그림과 같이 branchName 목록이 나열이 되며, 만약에 매개변수를 클릭을 안할 경우 해당 부분은 위에 설정한 default값이 설정이 된다. 만약에 선택을 하게되면 설정한 def branch 에 해당 변수값이 들어가게되고 git clone시 해당 branch로 가져오게 된다.
