2012-04-08 2 views
2

우리는 자식, 리트 및 자동화 된 테스트 및 코드 리뷰에 대한 젠킨스를 포함하여 우리의 새로운 CI 시스템의 설정을 마무리하고, 우리는 이상한 상황을 찾고 있습니다 : 우리는 서로 다른 세 가지가여러 젠킨스/리트 프로젝트

을 gerrit 프로젝트, 각자 자신의 젠킨스 직업과 함께. 설치 참조로 this 가이드를 사용했으며 모든 것이 설치되어 있고 정상적으로 작동하고 있습니다.

첫 번째 프로젝트가 설정되었고 샘플 변경 패치로 테스트되었습니다. Jenkins가 올바르게 트리거되고 테스트를 통과했으며 "Verified"로 예상대로 빌드에 투표했습니다. 여태까지는 그런대로 잘됐다!

하지만 두 번째 프로젝트를 설정하려고 시도했을 때 모든 jenkins 작업에서 프로젝트 중 하나의 변경 패치가 변경되었습니다. 예 :

GerritProjectA 및 GerritProjectB가 있고 각각 JenkinsProjectA 및 JenkinsProjectB가 있다고 가정 해 보겠습니다. 변경 사항이 GerritProjectA에 제출되면 JenkinsProjectA 및 JenkinsProjectB가 모두 트리거됩니다. 또한, 뭔가 빌드 후 리트 투표에 혼합됩니다 :

gerrit approve 10,3 --message '\''Build Failed 
    http://jenkins-server:8080/job/projectA/6/ : FAILURE 

    http://jenkins-server:8080/job/projectB/59/ : Correcto'\!''\'' -- 
     verified -2 --code-review 0' 14ms 6ms 1 

당신이 볼 수 있듯이 리트는 승인 명령이 혼합되어,이 빌드 중 하나 후 sshd_log의 정보 (JenkinsProjectB 하나)입니다 두 개의 서로 다른 젠킨스 작업에 대한 정보를 ... 어떤 젠킨스 작업에

샘플 설정 :

Repository URL: ssh://[email protected]:29418/projectA.git 
Banches to build: $GERRIT_PATCHSET_REVISION 
Build triggered by Gerrit event: 
Project Type: Plain 
Branches: Path ** 

소프트웨어 버전 :

Jenkins: 1.458 
Gerrit plugin: 2.5.1 
Gerrit: 2-3 rc0 

아이디어가 있으십니까? 미리 감사드립니다!

도밍고

답변

1

문제 찾았 젠킨스 작업 (의이 JenkinsJobB를 부르 자)의

한 구성의 "리트 트리거"부분이있는 자식 저장소의 이름을 가지고 있지 않았다 패턴.

Type: Plain 
Pattern: (repository name) 

Branches 
Type: Path 
Pattern: ** (or the branch name if you just want to watch one). 
: 당신이 리트 프로젝트에 대한 여러 젠킨스 작업이있는 경우

, 당신은 설정에 (적어도 내 경우에는)이 같은 리트 트리거를 필요

관련 문제