SCM में रेपो का क्लोन न बनाने के लिए जेनकिंस जॉब सेट करें


17

मैंने Bitbucket के साथ Jenkins को Bitbucket Plugin के साथ एकीकृत किया है । प्लगइन विकी के अनुसार, दिए गए कार्य को ट्रिगर किया जाएगा यदि रिपॉजिटरी को नौकरी के एससीएम में सेट किया गया है। जैसा कि आप जानते हैं, अगर कोई जेएनकिंस जॉब में SCM सेट करता है, तो इसे प्री-बिल्ड स्टेज में क्लोन किया जाता है।

अब तक सब ठीक है। हालाँकि, मैं जो काम कर रहा हूँ उसका मुख्य उद्देश्य रिपॉजिटरी की सामग्री से कोई लेना-देना नहीं है; इसके बजाय, मैं बस यह चाहता हूं कि नौकरी बिटकॉइन द्वारा भेजे गए पेलोड को संसाधित करे। आप कह सकते हैं कि भंडारण के मामले में यह एक बड़ी बात नहीं है कि भंडार को क्लोन करने के बावजूद आपको वास्तव में इसकी आवश्यकता नहीं है। मुझे नहीं लगता कि अनावश्यक कदमों को जोड़ना, समय और संसाधनों का उपभोग करना एक अच्छा अभ्यास नहीं है।

तो, सवाल यह है: क्या कोई जानता है कि जेनकींस की नौकरी में एससीएम कैसे सेट किया जाता है लेकिन रिपॉजिटरी को क्लोन करने के लिए इसे रोकें?


2
ऐसा लगता है कि आप जेनकींस को एक माइक्रो सेवा के रूप में उपयोग करने की कोशिश कर रहे हैं जो जेनकिंस के दायरे से बाहर है :)। अगर आपको यह काम मिल रहा है तो पोस्ट वापस करें क्योंकि यह दिलचस्प है।
ट्रैविस थॉम्पसन

मैं जेनकींस को माइक्रो सेवा के रूप में उपयोग नहीं कर रहा हूं। तुमने ऐसा क्यों कहा? वास्तव में, यह सब एक काम है: मैं एक पाइपलाइन जॉब का उपयोग कर रहा हूं जो कई रिपॉजिटरी के लिए आम है। जेनकिंसफाइल एक अलग भंडार में है। इस प्रकार, मैं सीधे Bitbucket Plugin के साथ पाइपलाइन को ट्रिगर नहीं कर सकता क्योंकि यह सिर्फ इसे ट्रिगर नहीं करता है, इसलिए मैंने रेपो के अनुसार "प्रॉक्सी जॉब" बनाने का फैसला किया, और डाउनस्ट्रीम नौकरी के रूप में पाइपलाइन को जानकारी भेज दी। इस तरह के "प्रॉक्सी जॉब" में मुझे रेपो का क्लोन बनाने की जरूरत नहीं है, लेकिन इसे एससीएम में होना चाहिए।
हेक्टर वाल्वरडे परेजा

यह समझना बहुत कठिन है और आप इस बारे में अधिक लिखते हैं कि आप जो वास्तव में हासिल करना चाहते हैं, उसके बारे में क्या असंभव है, हो सकता है कि आप इस बारे में अधिक जानकारी जोड़ सकें कि आप वास्तव में क्या हासिल करना चाहते हैं और कैसे आपकी प्रॉक्सी नौकरियां वहां फिट होती हैं?
माइकल ले बारबियर ग्रुएनवाल्ड

मुझे लगता है कि आप ऊपर मेरी टिप्पणी के बारे में बात कर रहे हैं। यह सिर्फ पहली टिप्पणी का जवाब है। कृपया मुख्य प्रश्न को देखें, और कुछ नहीं है। मैं आपको जो हासिल करना चाहता हूं वह बहुत स्पष्ट है: "जेनकींस को निर्माण के दौरान एक रिपॉजिटरी क्लोन करने के लिए रोकें"।
हेक्टर वाल्वरडे पारेजा

1
@ HéctorValverdePareja ज़रूर, लेकिन आपका शब्दांकन ए / के बीच पर्याप्त विवरण देने में संकोच करता है ताकि हर कोई जांच कर सके कि क्या आप एक्सवाई-समस्या की स्थिति में हैं और बी / सिर्फ उस सटीक चीज़ पर ध्यान केंद्रित करना चाहते हैं जिसे आप प्राप्त करना चाहते हैं। मुझे लगता है (राय) आप ध्यान से अपनी मूल समस्या और जिस समाधान को लागू करने का प्रयास कर रहे हैं, उसका वर्णन करके आप इस झिझक को दूर कर सकते हैं। लेकिन अब जब किसी ने एक उत्तर लिखा है, तो यह अब इतना महत्वपूर्ण नहीं हो सकता है।
माइकल ली बारबियर ग्रुएनवाल्ड

जवाबों:


19

हाँ बिलकुल। मेरे द्वारा हमेशा ऐसा ही किया जाता है। आप अपनी पाइपलाइन के लिए कॉन्फ़िगरेशन विकल्प निर्दिष्ट कर सकते हैं और उनमें से एक है skipDefaultCheckout, जिसके कारण पाइपलाइन डिफ़ॉल्ट "घोषणात्मक: चेकआउट एससीएम" चरण को छोड़ देती है।

skipDefaultCheckoutविकल्प में प्रलेखित है पाइप लाइन सिंटेक्स और यहाँ एक उदाहरण Jenkinsfile दिखा कि यह कैसे उपयोग करने के लिए है:

pipeline {
  agent { label 'docker' }
  options {
    skipDefaultCheckout true
  }
  stages {
    stage('commit_stage') {
      steps {
        echo 'sweet stuff here'
      }
    }
  }
}

1
आप कैसे होंगे? मंच में मैन्युअल रूप से क्लोन क्लोन?
123 बजे ओज123

2
आप checkout scmमैन्युअल रूप से क्लोन करने के लिए चला सकते हैं जहाँ आपको आवश्यकता है। devops.stackexchange.com/a/1916/2450 देखें ।
बर्नटेक

5

यदि आप Declarative पाइपलाइन का उपयोग नहीं कर रहे हैं, तो आप SCM से बाहर की जाँच करने से बच सकते हैं:

node {
        skipDefaultCheckout()
        //...
}

1
क्या आप दस्तावेज़ में लिंक जोड़ सकते हैं और SkipDefaultCheckout () के बारे में अधिक बता सकते हैं?
030

मुझे मौजूदा उत्तर की तुलना में कोई जोड़ा हुआ मूल्य नहीं दिखता है, यह सिर्फ एक 'कोशिश' है जिसमें कोई स्पष्टीकरण नहीं है और एक अच्छा उत्तर नहीं है।
तेंसिबाई

यह उत्तर स्वीकृत उत्तर के पूरक के रूप में ठीक है - हर कोई घोषणात्मक पाइपलाइन प्लगइन का उपयोग नहीं करेगा, इसलिए यह प्रक्रियात्मक का उपयोग करने वालों के लिए काम करता है।
रिचवेल

1

मुझे लगता है कि आप जो हासिल करना चाहते हैं, वह जेनकिंस नौकरी में एक वेबहॉक पेलोड को संसाधित कर रहा है। बिटबकेट प्लगइन का उपयोग करना आवश्यक नहीं होगा और यह संभवतः रेपो को क्लोन करने के लिए दृढ़ता से डिज़ाइन किया गया है।

मुझे विश्वास है कि यह स्टैकओवरफ्लो उत्तर आपकी मदद कर सकता है।


जो लिंक जवाब से कोई प्रासंगिक बोली ... शामिल करें
Pierre.Vriens

1
DevOps में आपका स्वागत है! जब भी यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, तो उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर होगा
रिचर्ड स्लेटर

@RichardSlater मैं DevOps पर नीति के बारे में निश्चित नहीं हूं, लेकिन अन्य साइटें इन-नेटवर्क लिंक के लिए अपवाद बनाती हैं।
चूजों

3
@chicks यहां तक ​​कि StackOverflow लिंक सड़ने से लिंक करने के अधीन हैं और प्रश्न का सारांश देकर यह अन्य कारणों से स्पष्ट संकेत देता है कि क्यों उत्तर देने वाले का मानना ​​है कि प्रश्न लिंक द्वारा उत्तर दिया गया है।
रिचर्ड स्लेटर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.