2013-10-04 17 views
15

Các thông số Jenkins có phân biệt chữ hoa chữ thường không? Tôi có một xây dựng parametrized cần một tham số ant có tên là "build_parameter" được thiết lập trước khi xây dựng. Khi tôi cố gắng truy cập $ {BUILD_NUMBER} do Jenkins đặt, tôi nhận được giá trị được đặt cho tham số ant. Nếu các tham số xây dựng không phân biệt chữ hoa chữ thường, có ai có thể gợi ý cho tôi một công việc xung quanh vấn đề này không? Tôi không thể thay đổi tên tham số xây dựng vì tôi sẽ phải thay đổi các kịch bản xây dựng của mình (không phải là một tùy chọn). Cảm ơn!Jenkins - Cách truy cập BUILD_NUMBER biến môi trường

+0

tham khảo https://issues.jenkins-ci.org/browse/JENKINS-1322 –

+0

Adarsh: build_param My biến eter và môi trường $ {BUILD_NUMBER} có các giá trị khác nhau. Xin lỗi vì không được rõ ràng. Tôi cần một cách để truy cập vào giá trị $ {BUILD_NUMBER} của Jenkins. Tuy nhiên, khi tôi cố gắng truy cập nó theo cách chúng ta làm cho các biến môi trường ($ {BUILD_NUMBER}) nó in ra giá trị khác. – Anand

+0

Theo điều tra của tôi BUILD_NUMBER cung cấp cho bạn số bản dựng hiện tại. Vì vậy, bạn cần phải thay đổi kịch bản xây dựng của bạn. Hoặc thử tạo biến mới và gán giá trị của BUILD_NUMBER và sử dụng nó. –

Trả lời

15

Để trả lời câu hỏi đầu tiên của bạn, biến Jenkins phân biệt chữ hoa chữ thường. Tuy nhiên, nếu bạn đang viết một kịch bản loạt cửa sổ, chúng phân biệt chữ hoa chữ thường vì Windows không quan tâm đến trường hợp đó.

Vì bạn không rõ ràng về thiết lập của mình, hãy giả định rằng bạn đang sử dụng bước xây dựng kiến ​​để kích hoạt tác vụ kiến ​​của bạn. Có một cái nhìn tại the Jenkins documentation (cùng một trang mà Adarsh ​​đã cho bạn, nhưng chương khác nhau) cho một ví dụ về cách làm cho biến Jenkins có sẵn cho nhiệm vụ kiến ​​của bạn.

EDIT:

Do đó, tôi sẽ cần truy cập vào biến $ {môi trường BUILD_NUMBER} để xây dựng các URL.

Tại sao bạn không sử dụng $BUILD_URL sau đó? Nó không có sẵn trong plugin email mở rộng?

+0

Peter: Vui lòng tham khảo nhận xét của tôi ở trên để biết phản hồi của Sagar. Tôi cần lấy giá trị của biến môi trường $ {BUILD_NUMBER}, tuy nhiên tôi cho rằng nó bị ghi đè bởi tham số khác (tham số chữ thường). Tôi đang sử dụng Mac OS và tôi không sử dụng các tham số này trong bất kỳ tập lệnh bash nào. Tất cả những gì tôi đang cố gắng làm là sử dụng nó trong nội dung email Thông báo Email Mở rộng. – Anand

+0

Peter: Cảm ơn lời đề nghị của bạn. Tôi đã thử $ {BUILD_URL} sau khi bạn đã đề xuất. Nó đưa tôi đến trang xây dựng. Có cách nào để chỉ nó trực tiếp đến tạo tác sao cho nó sẽ bắt đầu tải xuống phần tạo tác trực tiếp từ liên kết trong email? – Anand

+3

Đó là $ {BUILD_URL}/artifact/

5

Giả sử tôi hiểu câu hỏi và thiết lập một cách chính xác của bạn,

Nếu bạn đang cố gắng sử dụng số lượng xây dựng trong kịch bản của bạn, bạn phải lựa chọn:

1) Khi gọi ant, sử dụng: ant -Dbuild_parameter=${BUILD_NUMBER}

2) Thay đổi kịch bản của bạn để:

<property environment="env" /> 
<property name="build_parameter" value="${env.BUILD_NUMBER}"/> 
+0

Sagar: Tôi sử dụng tùy chọn xây dựng tham số để làm cho người dùng nhập tham số build_number (lưu ý: nó nằm trong lower_case) và sau đó sử dụng nó trong kịch bản kiến ​​của tôi. Tuy nhiên, tôi cần gửi email có vị trí tạo tác dưới dạng URL. Do đó, tôi sẽ cần truy cập biến môi trường $ {BUILD_NUMBER} để xây dựng URL. Bây giờ, người dùng nhập tham số $ {build_number} và biến môi trường $ {BUILD_NUMBER} là khác nhau. Nhưng nếu tôi thêm $ {BUILD_NUMBER} vào URL, nó luôn chiếm giá trị được lưu trữ trong $ {build_number}. – Anand

+0

Aah ok. Trong trường hợp đó, tại sao bạn không thay đổi "build_number" thành "build.number" trong danh sách tham số của mình. Nó vẫn có ý nghĩa tương tự, và mọi người sẽ không nhầm lẫn nó với bất kì cái gì khác; đồng thời, hoàn toàn khác với BUILD_NUMBER. Tôi không chắc chắn có trường hợp insensivity (hoặc là máy chủ của bạn hoặc khách hàng của bạn trên Windows?), Nhưng đó sẽ là cách tốt nhất của bạn ra ngoài. Bạn vẫn có thể sử dụng điểm 1 hoặc 2 ở trên để khớp các biến nội bộ của tập lệnh với biến tham số và môi trường. – Sagar

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