2016-12-08 2 views
4

저는 여러 리포지토리를 사용하는 파이프 라인 (젠킨스) 작업이 있습니다.여러 리포지토리의 커밋을 통해 파이프 라인 젠킨스 작업을 트리거합니다.

레포지토리는이처럼 체크 아웃됩니다

checkout([$class: 'GitSCM', ...])

지금 나는이 저장소의 짓을 커밋 할 때 작업을 트리거합니다. 어떻게 구성 할 수 있습니까?

+0

나는 현상금을 시작했지만 이것에 관해서는 더 질문이 있습니다. 다른 repos에서 변경을 수행하는 방법은 변경 로그에 나타납니다. 하나의 저장소 (첫 번째 저장소)에서 변경 사항을 가져 오는 것 같습니다. –

+0

Webhooks는 커밋시 빌드를 트리거하는 훌륭한 솔루션입니다. gitLab의 경우 webhook은 jitkins가 아닌 gitlab에 정의되어 있으므로 동일한 빌드에 대해 여러 개의 후크를 가질 수 있습니다. 그 도구가 다른 도구와 어떻게 작동하는지 모르겠습니다. – herm

+0

예, Google에 이상적입니다. 불행히도 내 자식 솔루션을 지원하지 않습니다 webhooks – Nathan

답변

1

파이프 라인을 걷어차는 프리 스타일 작업을 사용하여이 문제를 해결했습니다. 여러 개의 SCM 플러그인이 있고 자유형 작업보다 웹 후크가 있어야합니다.

+0

일 @eddieWhat 당신이 짧은 시간에 두 개 이상의 repos에 종속 된 변경을 푸시 할 때? 여러 작업이 실행됩니까 (대부분 실패합니다)? 어떻게 모든 관련 변경 사항을 선택합니까? 나는 당신이 라이브러리 (repo 1)에 대한 급격한 변화와 클라이언트 (repos 2, 3, ...)에 대한 변경을 푸는 시나리오에 대해 생각하고있다. – kdopen

+0

두 시나리오가 발생할 것이다. 1. 첫 번째 빌드가 중단되고 (repo 1에서 변경) 2/3가 수정됩니다. 또는 그들은 모두 깨지 않을 것이지만 당신은 그들과 문제를 가질 수있는 두 가지 버전을 가졌을 것입니다. 변경 사항을 깨고 있기 때문에이를 미리 알고 있어야합니다. 참고 : 이는 해결 방법입니다. 보다 잘 설계된 애플리케이션 구조에서는 앱 설정 파일에서 원하는 라이브러리를 가리킬 수 있습니다. 변경 사항을 설명 할 때만 새로운 lib로 변경됩니다. – Eddie

+0

감사합니다. 비슷한 시나리오로 어려움을 겪고있었습니다. – kdopen

관련 문제