Multibranch Jenkins 빌드에서 일부 분기를 비활성화하는 방법은 무엇입니까?


10

Jenkinsfile을 사용하여 분기를 실행하기 위해 다중 분기 작업 세트가 있습니다.

다중 분기 파이프 라인에 대해 실행중인 작업 목록에서 분기를 제거하려는 경우 생각할 수있는 몇 가지 옵션이 있습니다.

  1. 지점을 삭제할 수 있습니다
  2. 해당 지점에서 Jenkinsfile을 삭제할 수 있습니다

두 번째 솔루션은 커밋하고 내 브랜치의 git repo로 푸시해야한다는 점을 제외하고는 좋으며 해당 브랜치가 다른 브랜치로 병합되면 Jenkinsfile을 날려 버립니다.

다중 분기 파이프 라인의 일부 분기 만 비활성화하는 가장 좋은 방법은 무엇입니까?

답변:


17

Jenkins는 와일드 카드 또는 정규식을 사용하여 이름으로 다중 분기 파이프 라인에서 분기를 필터링 할 수 있습니다.

젠킨스 필터 지점


Jenkinsfile 내 에서이 작업을 수행 할 수있는 방법이 있습니까?
xjcl

1
예, when { anyOf { branch 'master'; branch 'release/**' } }모든 단계 (선언적) 또는 if (env.BRANCH_NAME == 'master' || (env.BRANCH_NAME).startsWith('release/')) {}스크립팅 된 파이프 라인 (거의 모든 위치)에 추가 할 수 있습니다 . 첫 번째 옵션의 경우 jenkins.io/doc/book/pipeline/syntax/#when 에서 더 많은 기능을 사용할 수 있습니다 . 어쨌든, 가장 좋은 방법은 답변에 명시된 것처럼 다중 분기 파이프 라인 플러그인에서이를 구성하는 것입니다.
biolauri

-1

해당 브랜치 작업을 원하지 않는 브랜치에서 Jenkins 파일을 삭제하십시오. 분기 작업이 삭제됩니다 (물론 "고아 아이템 전략"을 적절하게 설정 한 경우).

Jenkins 다중 분기 파이프 라인 프로젝트의 관점에서 이는 분기 삭제와 동일한 효과를 갖습니다. 이는 해당 분기 작업을 작성 (또는 삭제) 할 때 기준으로 Jenkinsfiles가 포함 된 분기를 단순히 스캔하기 때문입니다.

분기 작업을 다시 필요로하는 경우 Jenkinsfile을 복원하려면 커밋을 되돌립니다.


이것은 너무 많은 일입니다. 브랜치를 생성하고 파일을 삭제하면 정당한 이유없이 GIT 기록을 변경하게됩니다. Jenkins 수준에서 필터링하는 것이 훨씬 낫기 때문에 아무것도 할 필요가 없습니다.
케이시 베가
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.