2016-06-07 15 views
9

का उपयोग करके नोड्स के बीच आर्टिफैक्ट की प्रतिलिपि बनाएं I मौजूदा जेनकींस बिल्डिंग जॉब्स को एक जेनकींस 2 पाइपलाइनों में स्थानांतरित करने की कोशिश कर रहा हूं, और सोच रहा हूं कि निर्माण के भीतर फ़ाइलों को एक नोड से दूसरे में कॉपी करना संभव है या नहीं। मेरे विचार होगा:जेनकिंस पाइपलाइन

Node A (Windows) 
    Checkout scm 
    Execute ant build 
    Archive artifact (or whatever required action) 
Node B (Unix) 
    Checkout scm 
    Copy build artifact from node A --> is this possible ? 
    Execute ant build 
    Then followed by tests... 

मैं प्रतिलिपि विरूपण साक्ष्य कदम का उपयोग करने की कोशिश की है, लेकिन यह सही ढंग से काम करने के लिए नहीं लगता था, तो मैं सोच रहा हूँ वहाँ के बीच में फ़ाइलों की प्रतिलिपि बनाने का कोई तरीका है पाइपलाइन, या अगर मुझे वर्तमान निर्माण वास्तुकला के साथ रहना है (copy artifact plugin का उपयोग करके, लेकिन पूरी तरह अलग नौकरियों के साथ)।

+0

में आपका स्वागत है stackoverflow करने के लिए। आप केवल उस कोड को शामिल कर सकते हैं जो आपके पोस्टिंग में "सही तरीके से काम नहीं कर रहा" ... ;-) – StephenKing

+0

मैं 'step ([$ class: 'ArtifactArchiver', कलाकृतियों का उपयोग कर रहा था: 'dist/*। ज़िप']) 'पहले नोड पर आर्टिफैक्ट को संग्रहीत करने के लिए, और' चरण ([$ वर्ग: 'कॉपी आर्टिफैक्ट', फ़िल्टर: 'dist/*। ज़िप', फिंगरप्रिंट आर्टिफैक्ट्स: सत्य, प्रोजेक्टनाम: 'पीसीटी') 'लेकिन कलाकृतियों केवल प्रतीत होते हैं निर्माण के अंत के बाद उपलब्ध है –

उत्तर

7

हां, यह stash/unstash चरणों का उपयोग कर संभव है।

इस बारे में एक ट्यूटोरियल भी Jenkins Blog (समानांतर निष्पादन पर ध्यान केंद्रित) में पाया जा सकता है:

parallel (
    "stream 1" : { 
        node { 
          unstash "binary"       
          sh "sleep 20s" 
          sh "echo hstream1" 
         } 
        }, 
    "stream 2" : { 
        node { 
          unstash "binary" 
          sh "echo hello2" 
          sh "hashtag fail"              
         } 
        } 
     ) 
संबंधित मुद्दे