Hãy tưởng tượng công việc Jenkins A mất 1 phút để chạy và công việc B mất 5 phút.Công việc được tham số hóa Jenkins chỉ xếp hàng một bản dựng
Nếu chúng tôi định cấu hình lệnh A để kích hoạt lệnh B, trong khi công việc B đang chạy lệnh A có thể chạy 5 lần trước khi B hoàn tất. Tuy nhiên, Jenkins không thêm 5 bản dựng vào hàng đợi của công việc B, điều này thật tuyệt vời vì công việc A nhanh chóng sẽ tạo ra một bản backlog không ngừng phát triển cho công việc chậm chạp B.
Tuy nhiên, bây giờ chúng tôi muốn có việc làm Trình kích hoạt B làm công việc được tham số hóa, sử dụng parameterized trigger plugin. Các công việc tham số làm xếp hàng tồn đọng, điều đó có nghĩa là công việc A đang tạo ra một đống lớn các công trình xây dựng cho công việc B, mà không thể theo kịp.
Có ý nghĩa khi thêm công cụ tạo tham số mới vào hàng đợi mỗi khi được kích hoạt, vì các tham số có thể khác nhau. Jenkins không nên luôn luôn giả định rằng một phiên bản tham số mới biểu hiện những hàng đợi trước đó không cần thiết.
Tuy nhiên, trong trường hợp của chúng tôi, chúng tôi thực sự muốn điều này. Job A xây dựng và đóng gói ứng dụng của chúng ta, sau đó Job B triển khai nó vào một môi trường giống như sản xuất và chạy một bộ kiểm thử tích hợp nặng hơn. Chúng tôi cũng có một bản dựng C mà triển khai đến một môi trường khác và thậm chí còn thử nghiệm nhiều hơn, vì vậy đây là một mô hình leo thang đối với chúng tôi.
Chúng tôi muốn xếp hàng cho công việc được tham số hóa B của chúng tôi để chỉ giữ bản dựng cuối cùng được thêm vào nó; mỗi công trình mới sẽ thay thế bất kỳ công việc nào hiện có trong hàng đợi.
Có cách nào tốt đẹp để đạt được điều này không?
Bạn có thể lưu tham số vào tệp thuộc tính và sử dụng plugin envInject để đọc thuộc tính. –
Các thông số cũng có thể được truyền trong bộ kích hoạt truyền thống. –