जेनकिंस में एक ही समय में कई नौकरियों का पुनर्निर्माण कैसे करें?


9

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

क्या अंतिम उपयोग किए गए मापदंडों का उपयोग करके एक ही समय में कई नौकरियों को फिर से चलाने के लिए कोई सरल तरीका (अंततः विभिन्न प्लगइन का उपयोग करना) है?


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

जवाबों:


8

आप एक साथ नौकरियों को टाई करने के लिए एक पाइपलाइन का उपयोग कर सकते हैं, उन्हें चरणों के माध्यम से समानांतर या क्रमिक रूप से निष्पादित कर सकते हैं।
जैसा कि आप इसे पाइपलाइन स्क्रिप्ट से कहते हैं, आप प्रत्येक कार्य के लिए प्रासंगिक पैरामीटर पास कर सकते हैं।
तो फिर तुम सिर्फ एक पाइपलाइन काम के पुनर्निर्माण की जरूरत है। आप एक साथ एक सामान्य बिल्ड नाम के साथ नौकरियों को टाई कर सकते हैं।

build job: 'buildjob1', parameters: [
  [$class: 'StringParameterValue', name: 'BUILD_NAME', value: ${env.JOB_BASE_NAME}-${env.BUILD_NUMBER}"], 
  [$class: 'StringParameterValue', name: 'FIXEDPARAM', value: 'some-string'],
  [$class: 'StringParameterValue', name: 'PARAM1', value: "${PARAM1}"]
]

1

आप पैरामीटर ऑब्जेक्ट की एक सूची भी बना सकते हैं, फिर उसे बिल्ड चरण में पास करें:

def paramsMap = [:]
paramsMap['param1'] = 'value1'
paramsMap['param2'] = 'value2'
def paramsObjects = []
paramsMap.each {
  key, value ->
    paramsObjects.push([$class: 'StringParameterValue', name: key, value: value])
}
build job: jobName, parameters: paramsObjects

paramsObjects इस तरह दिखेगा:

[
    [$class:StringParameterValue, name:param1, value:value1],
    [$class:StringParameterValue, name:param2, value:value2]
]
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.