[jenkins] Jenkins 빌드 번호 변경

작업이 완료된 후 이메일을 통해 전송 된 빌드 번호를 변경하는 방법이 있습니까? 문제는 제품 빌드가 Jenkins에 의해 수행되지 않기 때문에 빌드 번호 (예 : 텍스트 파일)를 가져 와서 Jenkins에서 빌드 번호를 업데이트하여 일치시킬 수 있다는 것입니다. 빌드 번호를 설정하려고했습니다.

set BUILD_NUMBER=45

그러나 이메일에는 여전히 Jenkins가 처음 설정 한 빌드 번호가 표시됩니다.



답변

스크립트 콘솔 (Jenkins 관리-> 스크립트 콘솔)에 액세스 할 수있는 경우 다음을 수행 할 수 있습니다.

Jenkins.instance.getItemByFullName("YourJobName").updateNextBuildNumber(45)


답변

플러그인으로 수행 할 수 있습니다 :
https://wiki.jenkins-ci.org/display/JENKINS/Next+Build+Number+Plugin

자세한 정보 :
http://www.alexlea.me/2010/10/howto-set-hudson-next-build-number.html

플러그인이 마음에 들지 않는 경우 :

nextBuildNumber 파일을 통해 빌드 번호를 변경하려면 “Jenkins 관리”페이지에서 “디스크에서 구성 다시로드”를 수행해야합니다.


답변

작업 작업 공간 폴더에서 다음과 같이 :

C:\Program Files (x86)\Jenkins\jobs\job_name

라는 파일이 nextBuildNumber있습니다.

파일에서 빌드 번호를 설정하고 디스크에서 구성을 다시로드하면 (Jenkins 관리 메뉴) 다음 빌드에서 파일의 값을 BUILD_NUMBER로 설정합니다.


답변

예를 들어 git flow 를 사용하여 슬래시를 포함 하는 분기 이름이있는 경우, 분기 이름 내에서 슬래시 를 유니 코드 문자 % 2F 로 바꿔야합니다 .

다음은 파이프 라인 My-Pipeline-Name 및 분기 릴리스 / my-release-branch-name의 예입니다.

Jenkins.instance.getItemByFullName("My-Pipeline-Name/release%2Fmy-release-branch-name").updateNextBuildNumber(BUILD_NUMBER)

파이프 라인에 대한 다른 작업 (분기)을 나열하는 다음 명령을 실행하여 이것에 대해 알 수있었습니다.

Jenkins.instance.getItem("My-Pipeline-Name").getAllJobs()

도움이 되길 바랍니다.


답변

아마도이 플러그인들의 조합이 유용 할 것입니다 :


답변

Jenkins 서버에서 $ {JENKINS_HOME} / jobs / job_name / nextBuildNumber 파일을 업데이트하여 빌드 번호를 변경할 수 있습니다.

CLI 또는 UI를 사용하여 빌드 번호를 변경하기 위해 플러그인 Next Build Number 플러그인 을 설치할 수도 있습니다


답변

환경 변수를 사용하여 :

$BUILD_NUMBER =4