2014-11-28 2 views
0

젠킨스의 목표는 자동으로 github 분기에서 빌드를 트리거하고, 애플리케이션을 빌드하고, 소스를 업데이트 한 다음 소스 업데이트를 동일한 분기로 푸시하는 것입니다.푸시 트리거로 인해 Jenkins가 반복에서 멈추는 경우

나는 루프에 빠진 것을 제외하고는 모두 작동합니다. 나는 "GitHub에 변경이 푸시 될 때 빌드 트리거를 사용하고 있습니다."

작업 내에서 동일한 분기로 업데이트를 푸시하면 전체 프로세스를 다시 루프에 넣고 빌드를 트리거합니다.

전체 작업이 완료 될 때까지 어떻게 든이 트리거를 보류 상태로 설정합니다. 나는에 업데이트를 누르면

답변

2

(내가 Xcode 프로젝트를 구축하고, PLIST에 빌드 버전 번호를 업데이트 할 일이 ... 확실하지 않은 그 손의 문제에 직접적으로 관련) 작업 내에서 동일한 브랜치를 선택하면 전체 프로세스를 반복하여 빌드를 다시 트리거합니다.

그리고 심지어 다시 GitHub webhook 불 경우에, 적어도이 다른 지점 이름과 함께 push event를 들어, JSON payload를 해고 할 것을 고려하여 다른 분기로 밀어 가장 좋은 것입니다

ref string The full Git ref that was pushed. Example: “refs/heads/master” 

그 페이로드에서 분기 푸시의 이름을 확인하면 루프를 방지 할 수있을 것입니다.

+0

흥미 롭습니다.하지만 동일한 분기에 적용 할 변경 사항이 필요합니다. –

+0

@NickMcConnell 변경 사항을 해당 GitHub 저장소의 동일한 분기에 적용 할 필요가 없습니다. 트리거 할 다른 webhook을 가질 수 있습니다 두 번째 지점에서 끌어 오기위한 다른 다운 스트림 저장소. 요점은 : rmeote repo GitHub에 관해서는 두 가지가 필요합니다. 다운 스트림 repos (GitHub에서 가져 오는)에 관해서는, 당신이 필요로하는 모든 브랜치 (당신이 원한다면 오직 하나)가 있습니다 : 당신은 GitHub로부터 어떤 브랜치를 가져올지를 제어합니다. – VonC

관련 문제