2016-06-28 27 views
16

Tôi đang tập hợp một công việc đường ống Jenkins sẽ lấy thông số tệp. Tôi có thể kích hoạt công việc và chỉ nó vào một tập tin tuy nhiên tôi không thể tìm thấy nơi tập tin đã kết thúc (Trong một công việc tự do bình thường nó sẽ được trong không gian làm việc).Công việc đường ống Jenkins với thông số tệp

Tệp đã tải lên ở đâu? Hoặc các tham số tệp hiện không hoạt động với đường ống?

Trả lời

3

Giải quyết nó theo cách sau:

node { 
    deleteDir() 
    stage("upload") { 
     def inputFile = input message: 'Upload file', parameters: [file(name: 'data.zip')] 
     new hudson.FilePath(new File("$workspace/data.zip")).copyFrom(inputFile) 
     inputFile.delete() 
    } 
    stage("checkout") { 
     echo fileExists('data.zip').toString() 

    } 
} 

Tôi biết các giải pháp mà không phải là đẹp vì đường ống bị gián đoạn cho việc tải lên nhưng nó hoạt động.

Tiếp tục "copyFrom" là cần thiết, vì đầu vào lưu trữ "data.zip" trong thư mục công việc và không có trong không gian làm việc (không biết tại sao)

+0

'java.nio.file.NoSuchFileException: Jenkins/workspace/job/data.zip' –

1

tôi đã cố gắng sử dụng các giải pháp được cung cấp bởi @ Christoph Forster, nhưng File đầu vào không được sao chép ở bất cứ đâu trong vùng làm việc. Vì vậy, tôi đã sử dụng giải pháp thay thế như được cung cấp trong https://bitbucket.org/janvrany/jenkins-27413-workaround-library/src/6b7dada8ea37?at=default

Thư viện cung cấp thông số xây dựng tệp vào không gian làm việc. Hoạt động tốt với văn bản và tập tin yaml.

+0

couldn không sử dụng giải pháp này một cách đáng tin cậy - các tệp ngẫu nhiên không được sao chép vào không gian làm việc. –

0

Tìm thấy một WA (Nghiêm ngặt để nhập tệp dựa trên văn bản) Chúng tôi có thể sử dụng tham số chuỗi nhiều dòng Jenkins và yêu cầu người dùng dán nội dung tệp vào đó. Và trong đường ống của chúng tôi, hãy viết nội dung của tham số này sử dụng bước đường ống WriteFile, như:

stage('File Param WA') { 
      writeFile file: 'demo.yaml', text: params.DEMO_YAML 
} 

Multi Line String Parameter

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