2012-01-13 11 views
5

मैं जेनकींस का उपयोग कर रहा हूं और मेरे निर्माण के अंत में "संग्रह कलाकृतियों" चरण को एक ज़िप फ़ाइल में संग्रहीत करने के लिए है।क्या जेनकिंस अपने आप से संग्रहित कलाकृतियों तक पहुंच सकते हैं?

इस चरण का उपयोग करने के बजाय, मैं निर्माण के अंत में एक दूरस्थ सर्वर पर कलाकृतियों को धक्का देने के लिए एक स्क्रिप्ट का उपयोग करना चाहता हूं। सर्वर जो मैं फ़ाइलों को अपलोड करने के लिए एक स्क्रिप्ट में एक REST API/HTTP PUT अनुरोध का उपयोग करने के लिए दबाव डाल रहा हूं।

ध्यान दें कि मैं एक ही निर्माण में बनाई गई आर्टिफैक्ट तक पहुंचने के लिए देख रहा हूं। तो अगर मैं # 5 बिल्ड पर हूं, तो मैं कलाकृतियों को # 5 बनाने के लिए चाहता हूं, # 4 का निर्माण नहीं करता हूं।

क्या इस ज़िप फ़ाइल को किसी स्क्रिप्ट के साथ एक्सेस करने का कोई तरीका है, उसी निर्माण में जिसे बनाया गया था?

मुझे इस ज़िप को दूरस्थ रूप से अपलोड करने की आवश्यकता है और ऐसा करने के लिए कोई और नौकरी नहीं बनाना है।

उत्तर

1

ऐसा कोई तरीका नहीं है कि मुझे इसे उत्पन्न करने वाले निर्माण के "संग्रह कलाकृतियों" पैकेज तक पहुंचने का कोई तरीका नहीं है। यह कदम हमेशा निर्माण में आखिरी होता है। निर्माण समाप्त होने से पहले यूआरएल तक पहुंच (उदाहरण के लिए स्क्रिप्ट के माध्यम से निर्माण के दौरान) के परिणामस्वरूप रिक्त ज़िप फ़ाइल में परिणाम मिलता है। इस सीमा को पाने के लिए, मैं ज़िप को पकड़ने और इसे तैनात करने के लिए अपनी स्क्रिप्ट चलाने के लिए एक दूसरी लिंक्ड बिल्डिंग नौकरी कर रहा हूं।

4

आप बिल्ड के अंत में अपनी कलाकृतियों को अपलोड करने के लिए "Publish Over..." प्लगइन में से एक इंस्टॉल कर सकते हैं।

प्रकाशित से अधिक प्लग-इन के लक्ष्य को जब कलाकृतियों का निर्माण भेज रहा है ... कहीं सुविधाओं और व्यवहार का एक संगत सेट प्रदान करना है।

अपनी कलाकृतियों को प्रकाशित करने के अन्य तरीकों के लिए full list of "upload" plugins भी देखें।

+0

मैं कमांड लाइन पर सत्यापित करने के लिए एक curl स्क्रिप्ट का उपयोग कर रहा हूं, मैं अपनी कलाकृतियों को अपलोड कर सकता हूं। मैं इसे एक अलग नौकरी बनाने के लिए समाप्त कर सकता हूं जो केवल तैनाती करने के लिए बंद हो जाता है। ज़िप में कलाकृतियों को पैकेज करने के लिए प्रकाशित ओवर प्लगइन का उपयोग करने का कोई तरीका है और फिर मेरी स्क्रिप्ट चलाएं? – DonBecker

+0

पैकेजिंग चीजें शायद इन प्लगइन्स के दायरे में नहीं हैं।हालांकि, आप ज़िप फ़ाइल को अपने काम के अंतिम निर्माण चरण के रूप में बना सकते हैं। –

+0

ऐसा लगता है कि मैं ज़िप फ़ाइल को अंतिम चरण के रूप में पकड़ सकता हूं, लेकिन यह खाली हो जाता है। यह समझ में आता है कि निर्माण में आखिरी बार "कलाकृतियों का संग्रह" चल रहा है। मुझे प्रकाशित ओवर प्लगइन में एक स्क्रिप्ट चलाने के लिए कोई रास्ता नहीं मिल रहा है, इसलिए मुझे लगता है कि मुझे एक अलग नौकरी बनाने की जरूरत है। – DonBecker

4

तरह @Christopher कहा, तुम

में से किसी को विरूपण साक्ष्य अपलोड करने के लिए जेनकींस प्लगइन्स पृष्ठ पर Publish Over प्लगइन्स के किसी भी उपयोग कर सकते हैं आप अपने आप में, आप निर्माण के भीतर से संग्रहीत ज़िप फ़ाइल का उपयोग करना चाहते हैं नीचे दिए गए लिंक का उपयोग कर सकते इसे उपयोग करने में:

http://<server>/job/${JOB_NAME}/lastSuccessfulBuild/artifact/<artifact name w/folder>

उदाहरण के लिए:

  • सर्वर = +०१२३९१४४७७
  • काम नाम = myproject
  • विरूपण साक्ष्य = del/project.zip

आपका URL यह होगा:

http://myserver.com/job/myproject/lastSuccessfulBuild/artifact/del/project.zip

संपादित करें: प्रश्न बदल गया था। किसी भी मामले में, यह मौजूदा निर्माण में पिछले निर्माण के आर्टिफैक्ट तक पहुंचने के लिए काम करेगा।

+0

लेकिन वह यूआरएल * आखिरी * निर्माण की कलाकृतियों तक पहुंच जाएगा, वर्तमान में नहीं। इसलिए निर्माण के अंत में एक प्रकाशक प्लगइन का उपयोग करने के लिए मेरा सुझाव। –

+0

सच है। हालांकि, उन्होंने निर्दिष्ट किया कि वह "आर्काइव आर्टिफैक्ट्स" का उपयोग कर रहे हैं, जो आमतौर पर निर्माण में अंतिम चरण है - इसलिए मेरा सुझाव। मैंने सोचा कि उसे हर निर्माण के मौजूदा आर्टिफैक्ट तक पहुंचने की जरूरत है। – Sagar

+0

क्रिस्टोफर सही है, मुझे उस निर्माण से कलाकृतियों तक पहुंचने की ज़रूरत है, जिसे उन्होंने बनाया था। – DonBecker

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

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