2013-08-10 1 views
0

현재 트리거 Jenkins는 Jenkins의 gerrit 트리거를 검토 (또는 검토 시작) 할 때 git push를 사용하여 빌드합니다. 이렇게하면 검토 완료 전에 테스트 및 확인에 적합한 빌드가 생성됩니다. 검토가 완료되면 (필요한 모든 리베이스가 완료되면) 검토가 완료로 표시되고 코드의 Git으로의 최종 병합을 시작합니다 (빨리 감기 만). 그 유물이 아닌 제거 얻을 것이다 검토가 중단되는 경우 마지막 빌드의 유물 (다른 곳으로 이동하는 시간에Gerrit + Jenkins : 병합 완료 후 작업을 트리거하는 방법 또는 검토를 취소하는 방법?

이 작동하지만, 내가 검토가 합병 마지막 때까지 어딘가 특별한 젠킨스에서 빌드 아티팩트를 주차 선호하는 것,).

젠킨스에서 특수한 병합 후 작업을 생성하여 병합을 트리거 할 수 있다고 생각했으나 분기가 중단 된 경우 이러한 작업을 트리거하려고하므로 병합 트리거가 잘라낼 것이라고는 생각하지 않습니다. . 더 정확하게 자동화하는 데 도움이 될 gerrit/Jenkins 트리거가 있습니까? (현재 주요 구성 요소별로 기본 빌드 작업이 있지만, 병합 된 구성 요소가 해당 아티팩트의 최종 처리를 처리하도록 트리거하는 글로벌 작업 하나만 필요합니다.)

+0

"지점이 버려졌습니다"란 무엇을 의미합니까? –

+0

"리뷰 또는 커밋이 취소 된 경우"- 동일한 아이디어. – MartyMacGyver

+0

그러면 "버려진 변화"에 대한 모티 스톰 (Motti Strom)의 답변이 정확합니다. –

답변

3

젠킨스는 "변경 버려진 "도.

브랜치/변경/커밋/푸시마다 둘 이상의 Jenkins 작업을 수행하는 데는 문제가 없습니다 (또한 Gerrit에 대한 주석을 조합하여 반환하므로 스팸이 없습니다).

병합 또는 포기시 트리거하는 새로운 전역 작업을 만들 수 있습니다 (두 트리거 모두 추가). 빌드 또는 빌드 후 조치는 원하는 것을 수행 할 쉘 스크립트 또는 유틸리티 프로그램이 될 수 있습니다.

+0

나는 그것을 살펴볼 것이다. 동일한 우산 아래에서 관리되지 않는 구성 요소뿐만 아니라 수십 개의 구성 요소가 있기 때문에 특정 범위의 repos에 대해 작업 트리거를 만드는 방법은 아직 확실하지 않지만 모든 repos에는 해당하지 않습니다. (나는 젠킨스의 한계에 부딪 치면서 더 많이 사용한다.) – MartyMacGyver

0

hooks; 예 :

change-merged --change <change id> --change-url <change url> \ 
--project <project name> --branch <branch> --topic <topic> \ 
--submitter <submitter> --commit <sha1> 

또는

change-abandoned --change <change id> --change-url <change url> \ 
--project <project name> --branch <branch> --topic <topic> \ 
--abandoner <abandoner> --reason <reason> 

또는 가입 및 사용자 지정 작업을 트리거 할 수있는 event stream.

$ ssh -p 29418 review.example.com gerrit stream-events 
{"type":"comment-added",change:{"project":"tools/gerrit", ...}, ...} 
{"type":"comment-added",change:{"project":"tools/gerrit", ...}, ...} 
관련 문제