2015-08-07 16 views
6

Chúng tôi có một doanh nghiệp nội bộ Github repo, và tôi có nhiều chi nhánh tính năng. Tôi đang gặp phải sự cố với kích hoạt bản dựng trên một nhánh cụ thể. Tôi đã định cấu hình công việc cho từng nhánh của đối tượng địa lý. Có một công việc jenkins cho một chi nhánh tính năng. Lần đầu tiên tôi cam kết mã, nó cũng kích hoạt các bản dựng cho công việc với các nhánh khác.Jenkins git cam kết cho các nhánh kích hoạt cụ thể xây dựng công việc cho các chi nhánh khác quá

Các bước để tạo lại sự cố:

1.Chúng tôi có Github nội bộ cho doanh nghiệp. Đối với repo của tôi, tôi đã thiết lập webhook cho github như sau

Settings -> Webhooks & Services -> Services 
Select Jenkins (GitHub plugin) 
Jenkins Hook Url: http://************/jenkins/github-webhook/ 

2. Đối với 3 chi nhánh của tôi trong github repo: branch1, branch2, branch3, tôi tạo ra ba jobs in Jenkins: Job1, Job2, Job3 với SCM cấu hình như bên dưới

Source Code Management: 
Repo URL: [email protected]********/********.git 
Branches to Build: refs/heads/BRANCH_NAME 

Build Trigger: Build when a change is pushed to GitHub 

3.Khi nhập mã vào chi nhánh của tôi: branch1. Nó kích hoạt tất cả 3 công việc trong jenkins: Job1, Job2, Job3. Lưu ý: Đây là lần đầu tiên các công việc được kích hoạt.

4.Khi nhập mã lần thứ hai vào chi nhánh: branch1. Nó chỉ kích hoạt Job1 trong jenkins.

Dường như lần đầu tiên tất cả các công việc đang được thực hiện cho repo, không phân biệt chi nhánh.

Chi tiết về thiết lập Jenkins của tôi: Jenkins Version: 1.565.1, GitHub plugin: 1.9.1

Bất kỳ sự giúp đỡ/hướng dẫn để giải quyết vấn đề này được đánh giá cao.

FYI: Tôi cố gắng bước được liệt kê http://kohsuke.org/2011/12/01/polling-must-die-triggering-jenkins-builds-from-a-git-hook/

Trả lời

0

Thực hiện một kịch bản với lệnh sau (giả sử bạn github SO là linux)

curl http://yourserver/jenkins/git/notifyCommit?url=<URL of the Git repository> 

đưa kịch bản này trong ./git/hooks

Trong công việc jenkins của bạn, hãy thay đổi

Từ "Xây dựng whe n thay đổi được đẩy lên GitHub"

Để "Thăm dò ý kiến ​​SCM"

Đừng tạo ra bất kỳ lịch trình trong Poll SCM

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