2012-01-15 6 views
5

Tôi có một dự án mất khoảng 15 phút để chạy bản dựng của nó trong jenkins (phpunit là phần tử dài nhất của bản dựng).Tôi làm cách nào để Jenkins hủy một bản dựng được kích hoạt scm nếu một bản dựng kích hoạt scm khác xảy ra?

Tôi đã định cấu hình các bản dựng được kích hoạt dựa trên scm (svn based), vì vậy mỗi khi một cam kết xảy ra, một bản dựng được kích hoạt (sử dụng tập lệnh hậu cam kết).

Tuy nhiên, nếu một cam kết xảy ra trong khi jenkins vẫn đang xây dựng dự án, nó đang chờ cho đến khi bản dựng trước kết thúc.
Kể từ khi xây dựng cũ không có liên quan khi một cam kết mới đã được thực hiện, làm thế nào có thể làm cho jenkins hủy bỏ một xây dựng hiện tại nếu một xây dựng mới đang chờ giải quyết cho cùng một dự án?

+2

Nếu bạn thực hiện điều này và có đủ thay đổi đáng kể, bạn sẽ kết thúc với một bản dựng mỗi ngày – Miquel

Trả lời

3

Trước hết, việc xây dựng dự án cho mỗi bộ thay đổi không phải là điều xấu, nếu việc xây dựng thất bại, bạn sẽ biết bộ thay đổi nào yêu cầu xác minh.

Nhưng nếu bạn muốn kết hợp một số thay đổi thành một bản dựng, tôi khuyên bạn nên thiết lập Quiet period trong Advanced Project Options để trì hoãn các bản dựng.