2016-06-28 17 views
16

मैं एक जेनकींस पाइपलाइन नौकरी एक साथ रख रहा हूं जो एक फ़ाइल पैरामीटर लेगा। मैं नौकरी को ट्रिगर कर सकता हूं और इसे एक फाइल पर इंगित कर सकता हूं हालांकि मुझे यह नहीं पता कि फ़ाइल कहां समाप्त हो गई है (सामान्य फ्री स्टाइल नौकरी में यह कार्यक्षेत्र में होगा)।फ़ाइल पैरामीटर के साथ जेनकींस पाइपलाइन जॉब

अपलोड की गई फाइल कहां गई है? या फ़ाइल पैरामीटर वर्तमान में पाइपलाइनों के साथ काम नहीं करते हैं?

उत्तर

3

यह नीचे दिए तरीक़े हल:

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() 

    } 
} 

मैं जानता हूँ कि समाधान है कि सुंदर क्योंकि पाइपलाइन अपलोड करने के लिए बाधित हो जाता है, लेकिन यह काम करता है नहीं है।

इसके अलावा "copyFrom", आवश्यक है, क्योंकि इनपुट "data.zip" नौकरियों निर्देशिका में और कार्यक्षेत्र में नहीं संग्रहीत करता है (पता नहीं है क्यों)

+0

'java.nio.file.NoSuchFileException: जेनकींस/कार्यक्षेत्र/नौकरी/data.zip' –

1

मैं @ द्वारा प्रदान समाधान उपयोग करने की कोशिश क्रिस्टोफ फॉस्टर, लेकिन इनपुट फ़ाइल को वर्कस्पेस में कहीं भी कॉपी नहीं किया जा रहा था। unstashParam - - कि एक कार्यक्षेत्र में फ़ाइल निर्माण पैरामीटर बचाता तो मैं समाधान के रूप में https://bitbucket.org/janvrany/jenkins-27413-workaround-library/src/6b7dada8ea37?at=default

पुस्तकालय एक नए पुस्तकालय प्रदान करता है में प्रदान की जाती इस्तेमाल किया। पाठ और yaml फ़ाइल के साथ ठीक काम करता है।

+0

सका इस वर्कअराउंड को विश्वसनीय रूप से उपयोग नहीं करें - फ़ाइलों को यादृच्छिक रूप से कार्यक्षेत्र में कॉपी नहीं किया गया है। –

0

एक डब्ल्यूए मिला (पाठ आधारित फ़ाइल इनपुट के लिए कड़ाई से) हम जेनकिंस मल्टी-लाइन स्ट्रिंग पैरामीटर का उपयोग कर सकते हैं और उपयोगकर्ता से फ़ाइल सामग्री पेस्ट करने के लिए कह सकते हैं। और हमारे पाइप लाइन में,, पाइपलाइन कदम WriteFile का उपयोग कर के रूप में इस पैरामीटर की सामग्री को लिखें:

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

Multi Line String Parameter

संबंधित मुद्दे