2016-12-05 20 views
7

Tôi hiện đang thiết lập công việc đường ống Jenkins Multi-Branch dựa trên kho lưu trữ Git được lưu trữ trên máy chủ Gitlab của chúng tôi. Jenkins có thể đọc các nhánh trong kho và tạo ra một công việc cho mỗi nhánh trong kho. Nhưng tôi không thể tìm ra cách kích hoạt công việc với webhook trong Gitlab.Cách kích hoạt đường ống Jenkins Multi-Branch với Gitlab Webhook

Câu hỏi của tôi là:

  1. Làm thế nào tôi có thể kích hoạt việc tạo ra một công việc chi nhánh mới trong Jenkins từ máy chủ Gitlab của chúng tôi? Tôi không thể nhìn thấy một webhook cho một chi nhánh mới được đẩy.

  2. Làm cách nào để kích hoạt công việc xây dựng thực tế cho một chi nhánh? Tôi chỉ có thể thêm một webhook cho các sự kiện push nhưng sau đó tôi sẽ phải thêm tên chi nhánh mà tôi không biết làm thế nào để làm.

  3. Làm cách nào để đảm bảo rằng Gitlab luôn kích hoạt "tạo công việc chi nhánh" trước khi đẩy vào nhánh sẽ kích hoạt công việc xây dựng.

Điều tôi đã cố gắng cho đến nay là kích hoạt công việc đa ngành, nhưng điều này không có hiệu lực và sau this post không hoạt động.

+1

tôi có cùng vấn đề với bạn, không thể kích hoạt công việc xây dựng với webhook – baz

Trả lời

3

Bạn cần cài đặt Gitlab Plugin trên Jenkins.

Điều này sẽ thêm điểm cuối "/ dự án" trên Jenkins. (Xem nó trong Jenkins => Quản trị Jenkins => Cấu hình Hệ thống => Gitlab)

Bây giờ hãy thêm một webhook vào dự án Gitlab của bạn => Cài đặt => Tích hợp. (Hoặc trong phiên bản Gitlab cũ: Dự án Gitlab => biểu tượng bánh xe => Tích hợp, có vẻ như bạn cần phải chủ sở hữu của dự án trong trường hợp này)

Trong Url: set "http: // yourjenkins.com/dự án (/ tên người dùng)?/yourprojectname "và đó là tất cả và nhấp vào" Thêm Webhook ".

Khi bạn nhấp vào thử nghiệm trên webhook của bạn, nó sẽ kích hoạt xây dựng đường ống jenkins của bạn. (Bạn cần có phản hồi 200 http)

Tính năng này hoạt động mà không cần xác thực trong plugin Gitlab, cấu hình có xác thực được hoan nghênh.

+0

Đó là tất cả những gì bạn đã làm? Nếu tôi thiết lập nó, giống như bạn mô tả cho các đường ống đa nhánh, tôi nhận được một phản ứng 200 trong gitlab, nhưng trong jenkins không có gì xảy ra. Tôi cũng có một số công việc tự do họ làm việc như mô tả của bạn ... – CordlessWool

+0

@CordlessWool trong thư mục bạn sử dụng không quên thêm nó vào url, và bạn nên có ít nhất một nhánh với một Jenkinsfile. Nhìn vào: "Scan Multibranch Đăng nhập đường ống" nút trên công việc MultibranchPipeline, có thể quét được kích hoạt, nhưng cái gì khác đã xảy ra. – Antoine

+0

Tôi có một Jenkinsfile trong bữa ăn trưa phát triển và đã chạy nó, nhưng kích hoạt không hoạt động. Tôi cũng đọc rằng các plugin gitlab jenkins không hỗ trợ đường ống mutibranch – CordlessWool

Các vấn đề liên quan