2012-12-19 25 views
10

Cách lưu tệp đã tải lên dưới tên tệp ban đầu trong Jenkins Tham số được tạo tham số "Tệp tham số"?Jenkins Tham số hóa Xây dựng tệp tải lên và lưu tên tệp gốc

+3

Ông có thể xin hãy giải thích thêm về những gì vấn đề bạn đang gặp? – Slav

+0

Tôi có người dùng tải lên tệp cho phép some1.txt và some2.txt nhưng tôi buộc phải chỉ định tên tệp trong param. Và tôi muốn sử dụng cùng một tên tệp. –

Trả lời

2

Tham số "Tệp" của Xây dựng tham số Jenkins luôn nhận được cùng một tên trong công việc của bạn.

Chúng tôi có thể sắp xếp-of-bypass này bằng cách xác định hai thông số:

  • Một tham số là loại file - điều này được các nội dung vào tập tin.
  • Tham số khác thuộc loại Chuỗi - đây là tên gốc của tệp.

Trong kịch bản của chúng tôi, chúng tôi mất tập tin như chúng tôi đã nhận nó thông qua các tham số đầu tiên,
sau đó đổi tên thành nó như là thứ hai.
(người dùng phải Dán cùng giá trị cho cả hai lĩnh vực ...)

UPDATE:

Như đã đề cập bởi Nux (và James Ruskin), vấn đề này đã resolved around 2011,
do đó, bây giờ bạn có thể truy cập tệp gốc, theo cách sau:

Nếu, ví dụ, tham số tệp của bạn có tên File1,
sau đó kịch bản của bạn nhận được nội dung của tập tin đó trong File1
và nó có thể truy cập các tập tin gốc bằng cách sử dụng các tham số địa phương ${File1}.

tôi nghi ngờ nó được khéo léo khi kịch bản và người sử dụng không phải là trên cùng một hệ điều hành,
ví dụ: người dùng viết một con đường trong Windows và kịch bản chạy trên một Unix

+1

Cảm ơn. Đó là những gì tôi đã làm. Tôi nghĩ đây là giới hạn của Jenkins. Và ai đó cần phải yêu cầu tính năng thú vị này như sử dụng cùng tên tệp. Sau đó, chuỗi param không cần thiết và bạn không thể phạm sai lầm trong đó. –

+1

Có thể sẽ dễ dàng hơn nếu một tham số trỏ đến dữ liệu và một tham số khác sẽ giữ tên gốc của tệp. Chúng ta nên mở một yêu cầu thay đổi. – Gonen

+0

Như đã đề cập trong câu trả lời của Nux, điều này đã được giải quyết bởi https://issues.jenkins-ci.org/browse/JENKINS-11326 - bây giờ cho phép bạn lấy tên tệp gốc từ giá trị môi trường $ {parameter_name} –

11

Bạn có thể lấy tên tệp gốc từ tham số có cùng tên với tên tham số (trường vị trí tệp).

Ví dụ, nếu vị trí tập tin là "my_file", sau đó bạn có thể đổi tên nó để ban đầu bằng cách thực hiện:

mv my_file ${my_file} 
+0

Cheat thực sự mát mẻ, cảm ơn! –

+0

Đã được thêm vào với sự cố này https://issues.jenkins-ci.org/browse/JENKINS-11326 –

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