2012-05-03 36 views
7

Tôi có một số công việc được tham số hóa Jenkins sử dụng cùng các tham số và giá trị tham số. Khi tôi phải thay đổi giá trị mặc định của một trong các tham số đó, tôi cần phải đi qua tất cả các công việc đó và định cấu hình lại chúng.Lấy thông số từ tập tin thuộc tính

Một giải pháp đơn giản cho vấn đề này sẽ là một tùy chọn để lấy tất cả các tham số từ tệp cấu hình (trong master/trong không gian làm việc) nhưng tôi không thể tìm thấy thực hiện đủ cho điều đó.

Tôi muốn có thể để nuôi xây dựng với tập tin Java cấu hình tiêu chuẩn(ở định dạng "chìa khóa" = "value")và sau đó tham khảo những thông số như mọi thông số khác trong xây dựng.

Bạn có biết giải pháp thích hợp không?

Trả lời

9

Sử dụng EnvInject Plugin để đọc thông số của bạn từ một tập tin như biến môi trường trong một Tiêm Môi trường Biến xây dựng bước. Trục trặc là sau đó bạn không thể ghi đè chúng một cách dễ dàng. Một giải pháp sẽ là sử dụng nó kết hợp với Conditional BuildStep Plugin. Sau đó, bạn có thể xác định tham số boolean OVERRIDE sẽ là false theo mặc định. Sau đó, bạn có thể chạy bước xây dựng Tiêm chỉ có điều kiện khi OVERRIDEfalse. Khi bạn cần ghi đè thông số của mình bằng các giá trị được cung cấp bằng tay (trong cuộc gọi tùy chỉnh để chạy công việc), hãy chỉ định giá trị ghi đè và đặt OVERRIDE thành đúng.

+0

+1: Đây là con đường để đi. Tôi sử dụng plugin này để tải các giá trị phụ thuộc vào môi trường của tôi từ các tệp cấu hình. Các tệp cấu hình nằm trong SVN và bước Xây dựng Biến môi trường tải các biến này tùy thuộc vào tham số Xây dựng. Bạn cũng có thể tiêm các biến trước khi kiểm tra SCM của mình. Plugin này là tuyệt đẹp. –

1

Tôi sử dụng hudson với thông số kiến ​​và đặt (khách hàng) trong công việc hudson của tôi. Tham số này là sau đó tên của một tập tin bất động sản mà tôi mở ra với kiến ​​như sau:

<loadproperties> srcFile="${project.dir}/build/resources/${customer}.properties"/> 
Các vấn đề liên quan