2011-12-20 23 views
20

Tôi muốn Jenkins tự động tìm và chạy bộ thử nghiệm cho mỗi nhánh là một phần của yêu cầu kéo mở. Điều này có thể với một số plugin Jenkins mà tôi không tìm thấy?Có cách nào để sử dụng Jenkins với Github Pull Requests không?

+0

Tôi khá chắc chắn rằng có thể để Jenkins kiểm tra mọi chi nhánh. Tuy nhiên, +1 cho câu hỏi này vì tôi rất muốn có tính năng này. –

+1

Chúng tôi sử dụng "ngã ba sớm, ngã ba thường" tâm lý vì vậy chúng tôi sẽ có một tấn hành vi kiểm tra không cần thiết. Tôi thực sự rất thích có chức năng chỉ nhìn thấy "các nhánh chuẩn bị cho hội nhập" đang được thử nghiệm. –

+0

Có https://gist.github.com/1911084 và https://github.com/cramerdev/jenkins-comments – iElectric

Trả lời

2

Một phương pháp hoạt động là bạn có thể đổi tên nhánh khi nó được "chuẩn bị tích hợp" và sẵn sàng để được kiểm tra.

Quy ước đặt tên như chuẩn bị/my_feature.

Sau đó, trong plugin git Jenkins, bạn có thể định cấu hình tên chi nhánh mà bạn muốn nó xem xét để xây dựng. Bạn có thể có nó phù hợp với 'prep/*'.

Chúng tôi đã sử dụng để làm điều này cho tất cả các nhánh tính năng của chúng tôi sử dụng tiền tố 'dev /' để đánh dấu các chi nhánh tính năng cần chạy autobuild cho chúng. Dường như làm việc khá tốt.

7

Tôi tìm thấy trình tạo yêu cầu kéo Jenkins Github không sử dụng được, vì vậy tôi đã viết một daemon nhỏ đồng bộ hóa công việc Jenkins với PR, sau đó nhận xét xây dựng trạng thái trở lại từng chuỗi nhận xét của PR. Bạn có thể tìm thấy nó ở đây: https://github.com/percolate/jennifer

+2

Điều gì không sử dụng được? – aehlke

1

Tôi đã làm một cái gì đó tương tự, nhưng nơi Jennifer là một ứng dụng node.js, Jently là một ứng dụng Ruby. Bạn có thể tìm thấy nó tại https://github.com/vaneyckt/Jently.

0

Nếu bạn tình cờ sử dụng Cloudbees, họ cung cấp plugin trình tạo yêu cầu kéo riêng của họ.

https://wiki.cloudbees.com/bin/view/DEV/Github+Pull+Request+Validation

Những lợi thế mà họ chào so với tiêu chuẩn Jenkins Github pull request builder là nó chạy như một chương trình "người thuê cô lập", ngăn chặn các mã trong yêu cầu kéo từ snooping xung quanh cho mật khẩu hoặc khóa ssh. Tôi có thể thấy điều này đặc biệt hữu ích cho một dự án công cộng.

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