본문 바로가기
Devops/Jenkins

[Jenkins] Build Number 초기화

by dev_ss 2024. 7. 2.

 

 

Jenkins를 이용하면서 Job을 실행시키면, 각 수행마다, Build Number가 순차적으로 올라간다.

 

이 Build Number는 Job 내부에서 환경변수로 이용을 할 수 있고, 이는 여러 가지 변수(컨테이너 이미지 태그 등)로 사용할 때가 많았다.

 

하지만 어느 순간 초기화(다시 1로)가 필요해질 때가 발생하여, 기록차 남기게 되었다.

 

 

 

 

1. Jenkins 관리로 이동

 

 

 

 

 

2. Script Console로 이동

 

 

 

 

 

3. Script 기입 및 실행

 

 

아래는 특정 Job에 대하여 과거에 저장되었던 Build 내용을 삭제하고, Build Number를 초기화하는 스크립트다.

 

// 특정 Job의 Build 내역을 삭제하고 Number를 초기화하는 Script
item = Jenkins.instance.getItemByFullName("삭제할 Job 이름")

item.builds.each() { build ->
  build.delete()
}

item.updateNextBuildNumber(1)

 

 

 

 

아래는 모든 Job에 대한 과거 Build 관련 데이터를 삭제하고, Build Number를 초기화하는 스크립트다.

 

// 모든 Job의 Build 내역 삭제 및 Number 초기화 Script

item = Jenkins.instance.getAllItems().each() { item ->
  item.builds.each() { build ->
    build.delete()
  }
  item.updateNextBuildNumber(1) 
}

 

 

 

4. 결과

 

예시로 test라는 job을 만들어 build를 실행하였고, Build Number가 3이 되었다.

 

 

 

 

이를 초기화하기 위한 스크립트를 제작하였다.

 

item = Jenkins.instance.getItemByFullName("test")

item.builds.each() { build ->
  build.delete()
}

item.updateNextBuildNumber(1)

 

 

 

실행을 하게 된다면 다음과 같이 모든 Build가 삭제되고, 초기에 Job을 생성한 상태로 바뀐 것을 확인할 수 있다.

 

 

 


 

 

 + 추가적으로 Jenkins의 파일 시스템에 접속하여 jenkins_home 내에서 Job을 찾고, 삭제 및 수정을 해줄 수 있지만, 적절한 예시가 될 것 같지 않아서 포함시키진 않았다.

 

 

 

반응형