2013-09-24 31 views
21

Jenkins cho phép bạn parameterize xây dựng, nhưng tôi không thể tìm ra cách để thực sự tận dụng nó:Làm cách nào để sử dụng các phiên bản được tham số hóa của Jenkins?

enter image description here

Nói rằng tôi thường đá Ant tôi xây dựng cánh từ dòng lệnh như sau:

ant -buildfile /path/to/my/build.xml -DpackageType=jar package 

này sẽ gọi package mục tiêu 's build.xml, và làm cho một tài sản mang tên packageType sẵn cho nó, với một giá trị của jar.

Tôi giả định rằng trong ảnh chụp màn hình ở trên, trường Tên là nơi tôi sẽ chỉ định packageType, nhưng còn giá trị thì sao?

  1. Nếu Jenkins muốn tôi chỉ định một giá trị gia tăng Mặc định cho tài sản, sau đó, nơi nào để xác định giá trị mà dự án của tôi đang sử dụng? Ví dụ: tôi có thể muốn có Giá trị mặc định của war, nhưng có thẻ công việc Jenkins này với giá trị jar (để ghi đè giá trị mặc định).
  2. Ngoài ra, ý nghĩa của Jenkins là "... cho phép người dùng lưu nhập giá trị thực tế." Người dùng nào? Bạn sẽ gõ giá trị anyways ở đâu?

Cảm ơn bạn trước!

Trả lời

25

Bất cứ khi nào người dùng cấu hình một xây dựng parameterised trong Jenkins, tên tham số được thực hiện như là một môi trường biến

Người dùng có thể tận dụng các thông số như vậy bằng cách sử dụng biến môi trường.

Ví dụ, trong trường hợp của bạn nếu packageType là tham số bạn muốn vượt qua,

sau đó xác định tên như packageType và giá trị như chiến tranh

Bạn có thể sử dụng nó trong tập lệnh bạn yêu cầu là %packageType% (cho Hàng loạt) hoặc $packageType (đối với vỏ)

Sau khi cấu hình công việc, bất cứ khi nào bạn nhấp vào xây dựng tại nút, Jenkins nhắc cho tham số

Khi bạn đang sử dụng tập tin Parameter, các tập tin được tải lên sẽ được đặt vào thư mục làm việc

+1

Ahhhh rằng gắn mọi thứ cùng với tôi: ** Jenkins nhắc bạn lúc buildtime **. Bây giờ nó có ý nghĩa - cảm ơn! –

+0

Từ Jenkins "Execute Shell", tôi có thể truy cập vào giá trị 'String Parameter' thông qua' $ FOOBAR' trong đó 'FOOBAR' là tham số xây dựng. Sử dụng '% FOOBAR%' không hoạt động đối với tôi. –

+0

% PARAM% là cho hàng loạt và $ PARAM dành cho vỏ –

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