6

Tôi có một buildbot với một số nhà xây dựng và hai máy nô lệ.Thuật toán nào mà buildbot sử dụng để gán các nhà xây dựng cho nô lệ?

Một số người xây dựng có thể chạy trên một nô lệ và một số người trong số họ có thể chạy trên cả hai máy.

Thuật toán nào mà buildbot sẽ sử dụng để lên lịch xây dựng? Nó sẽ nhận thấy rằng một số nhà xây dựng có thể chạy trên chỉ một nô lệ và rằng nó nên gán những người có thể chạy trên cả hai nô lệ với một yêu cầu ít hơn?

(Tôi biết buildbot có thể được sử dụng để chạy cùng một bản dựng trên nhiều kiến ​​trúc, nói Windows, Linux, v.v. Chúng tôi đang sử dụng nó để phân phối các bản dựng cho hiệu suất, vì một bản dựng là đủ cho chúng tôi).

+0

[Câu hỏi liên quan] (http://stackoverflow.com/questions/23288323/buildbot-slaves-priority/23308226?noredirect=1#comment35800298_23308226) – hithwen

Trả lời

11

Đầu tiên là danh sách tất cả các nô lệ gắn liền với trình tạo đó. Sau đó, chọn một số ngẫu nhiên. Nếu nô lệ đã chạy nhiều hơn slave.max_builds bản dựng, nó sẽ chọn một đoạn mã khác.

Bạn có thể ghi đè phương thức nextSlave trên Builder để thay đổi cách thức nô lệ được chọn. Các đối số được truyền cho hàm của bạn sẽ là đối tượng Builder và một đối tượng list của buildbot.buildslave.BuildSlave. Bạn phải trả lại một trong các mục của danh sách sau, hoặc None.

+0

Nhưng làm thế nào bạn có thể phát hiện, thời tiết máy cạo râu đang chạy công cụ xây dựng? – jiamo

+0

Trong nô lệ, bạn có một trường build_status chứa một danh sách có tên là runningBuilds, những gì tôi không biết là nếu danh sách cũng chứa các bản dựng enqueued – hithwen

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