2017-01-12 57 views
12

Có biến môi trường nào để lấy Tiêu đề Đường ống Jenkins không?Biến môi trường trong Đường ống Jenkins

Tôi biết chúng tôi có thể sử dụng $JOB_NAME để lấy tiêu đề cho công việc tự do, nhưng có bất kỳ điều gì có thể được sử dụng để lấy tên đường ống không?

+0

Bạn có thể xem câu trả lời này nếu bạn muốn xem các biến có sẵn trong kênh của mình. https://stackoverflow.com/a/42138466/1238300 –

Trả lời

30

Bạn có thể truy cập cùng các biến môi trường từ trình thu thập thông tin sử dụng cùng tên (ví dụ: JOB_NAME hoặc env.JOB_NAME).

Từ các tài liệu:

biến môi trường có thể truy cập từ mã Groovy như env.VARNAME hoặc đơn giản là VARNAME. Bạn có thể viết thư cho các thuộc tính cũng như (chỉ sử dụng env tiền tố.):

env.MYTOOL_VERSION = '1.33' 
node { 
    sh '/usr/local/mytool-$MYTOOL_VERSION/bin/start' 
} 

Những định nghĩa cũng sẽ có sẵn thông qua REST API trong xây dựng hoặc sau khi hoàn thành, và từ đường ống ngược dòng builds sử dụng xây dựng bậc thang.

Đối với phần còn lại của các tài liệu, nhấp vào "đường ống Cú pháp" liên kết từ bất kỳ công việc đường ống enter image description here

+0

Cảm ơn, Tôi đã sử dụng env.MyVariable và nó hoạt động trong ứng dụng của tôi bây giờ tôi có thể xác định biến môi trường từ đường ống. Cảm ơn bạn đã tiết kiệm thời gian cho tôi. – Akki

15

Để tránh các vấn đề của các tác dụng phụ sau khi thay đổi env, đặc biệt là sử dụng nhiều nút, nó là tốt hơn để thiết lập một bối cảnh tạm thời.

Một cách an toàn để thay đổi môi trường là:

withEnv(['MYTOOL_HOME=/usr/local/mytool']) { 
    sh '$MYTOOL_HOME/bin/start' 
} 

Cách tiếp cận này không độc env sau khi thực hiện lệnh.

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