2016-12-05 3 views
7

현재 Gitlab 서버에 호스트 된 Git 저장소를 기반으로하는 Jenkins 다중 분기 파이프 라인 작업을 설정했습니다. Jenkins는 저장소의 분기를 읽고 저장소의 모든 분기에 대한 작업을 만듭니다. 그러나 Gitlab에서 webhook을 사용하여 작업을 트리거하는 방법을 알 수는 없습니다.Gitlab Webhook으로 Jenkins 다중 분기 파이프 라인을 트리거하는 방법

내 질문은 :

  1. 어떻게 우리의 Gitlab 서버에서 젠킨스의 새로운 지점 작업의 생성을 트리거 수 있습니까? 새로운 지점이 푸시 될 웹 훅을 볼 수 없습니다.

  2. 은 단일 분기에 대해 실제 빌드 작업을 어떻게 트리거합니까? 푸시 이벤트에 대해서만 웹 훅을 추가 할 수는 있지만 어떻게 할 지 모르는 브랜치 이름을 추가해야합니다.

  3. 브랜치에 대한 푸시가 빌드 작업 자체를 트리거하기 전에 Gitlab이 항상 "분기 작업 생성"을 트리거하도록하려면 어떻게해야합니까?

내가 지금까지 여러 가지 작업을 유발하지만,이 효과가 없습니다 전혀 작동하지 않습니다 this post을 따르고 시도 무엇.

+1

동일한 문제점이 있습니다. webhook을 사용하여 빌드 작업을 실행할 수 없습니다. – baz

답변

3

젠킨스에 Gitlab Plugin을 설치해야합니다.

젠킨스에 "/ 프로젝트"엔드 포인트가 추가됩니다. (Jenkins => Managing Jenkins => Configure System => Gitlab)

이제 Gitlab 프로젝트 => 설정 => 통합에 웹 훅을 추가하십시오. URL에

(이상 Gitlab 버전 Gitlab 프로젝트 => 휠 아이콘 => 통합, 당신이이 경우 프로젝트의 소유자 일 필요 같다) : 설정에 "http : // yourjenkins.com/프로젝트 (/ 폴더 이름)?/yourprojectname "이 모든 것이므로"Add Webhook "을 클릭하십시오.

웹 훅에서 테스트를 클릭하면 젠킨스 파이프 라인 빌드가 트리거됩니다. (당신은 200 http 응답이 있어야합니다)

그것은 Gitlab 플러그인에서 인증없이 작동하며, 인증 설정을 환영합니다.

+0

그게 전부입니까? 멀티 분기 파이프 라인에 대한 설명처럼 gitlab에서 200 응답을 얻었지만 젠킨스에서는 아무 일도 일어나지 않습니다. 나는 또한 당신의 설명처럼 작동하는 자유형 작업을 몇 가지 가지고있다 ... – CordlessWool

+0

@CordlessWool을 사용하면 폴더에 URL을 추가하는 것을 잊지 말고 Jenkinsfile이있는 하나 이상의 브랜치가 있어야한다. MultibranchPipeline 작업에서 "Multibranch Pipeline Log 검색"버튼을 클릭하십시오. 아마도 스캔이 시작되었지만 다른 일이 생겼을 것입니다. – Antoine

+0

Jenkinsfile을 개발 브런치에두고 이미 실행했지만 트리거링이 작동하지 않습니다. 나는 또한 jenkins gitlab 플러그인이 mutibranch 파이프 라인을 지원하지 않는다는 것을 읽었습니다. – CordlessWool