/ / जेनकींस मल्टी-ब्रांच पाइपलाइन और अपस्ट्रीम परियोजनाओं को निर्दिष्ट करना - जेनकिंस, जेनकिंस-पाइपलाइन

जेनकींस मल्टी-शाखा पाइपलाइन और अपस्ट्रीम परियोजनाओं को निर्दिष्ट करना - जेनकींस, जेनकींस-पाइपलाइन

वर्तमान में हम जेनकींस की बहुत सारी नौकरियां उत्पन्न करते हैंजेनकींस जॉब डीएसएल का उपयोग करके प्रति शाखा शाखा आधार; मल्टी-ब्रांच पाइपलाइन प्लगइन जेनेकिंसफाइल्स का उपयोग करके संभवतः प्रथम श्रेणी की जॉब जनरेशन सहायता प्राप्त करने और जॉब डीएसएल की मात्रा को कम करने के लिए एक दिलचस्प तरीका है।

उदाहरण के लिए हमारे पास है libwidget-सर्वर तथा विजेट-सर्वर शाखा परियोजनाओं को विकसित करना। जब libwidget- सर्वर बिल्ड खत्म हो जाता है तो विजेट-सर्वर जॉब ट्रिगर हो जाता है (डेवलपमेंट ब्रांच के लिए)। यह अन्य शाखाओं पर भी लागू होता है।

यह का उपयोग करता है Build after other projects are built एक अपस्ट्रीम बिल्ड के पूरा होने पर ट्रिगर करने के लिए (जैसे कि libwidget- सर्वर विजेट-सर्वर का निर्माण करने का कारण बनता है)।

ऐसा लगता है कि मल्टी-ब्रांच पाइपलाइन प्लगइन की कमी है Build after other projects are built सेटिंग - हम बहु-शाखा पाइपलाइन निर्माण में उपरोक्त को कैसे पूरा करेंगे?

उत्तर:

उत्तर № 1 के लिए 10

आपको अपनी अपस्ट्रीम जॉब में ब्रांच का नाम जोड़ना चाहिए (यह मानते हुए कि आप अपस्ट्रीम जॉब के लिए मल्टी-ब्रांच पाइपलाइन का उपयोग कर रहे हैं)।

मान लें कि आपके पास दो नौकरियों के साथ एक फ़ोल्डर है, दोनों बहु-शाखा पाइपलाइन नौकरियां: jobA तथा jobB; jobB के बाद ट्रिगर करना चाहिए jobA"रों master.

आप इस कोड को स्निपेट में जोड़ सकते हैं jobB"जेनकिंसफाइल:

properties([
pipelineTriggers([
upstream(
threshold: "SUCCESS",
upstreamProjects: "../jobA/master"
)
])
])

(मन कि किसी भी शाखा jobB यहाँ के बाद शुरू हो जाएगा jobA"मास्टर!)


जवाब के लिए 3 № 2

मैं इस समय हमारी तैनाती के लिए काम करने की कोशिश कर रहा हूं। निकटतम I "ve मिला है जो डाउनस्ट्रीम जेन्किन्सफाइल से जुड़ रहा है;

properties([
pipelineTriggers([
triggers: [
[
$class: "jenkins.triggers.ReverseBuildTrigger",
upstreamProjects: "some_project", result: hudson.model.Result.SUCCESS
]
]
]),
])

कम से कम जेनकिन्स को यह स्वीकार करने के लिए मिलता है कि यह कब ट्रिगर होना चाहिए "some_project" मिलता है "बनाया जाता है" अर्थात यह "व्यू कॉन्फ़िगरेशन" पेज में दिखाई देता है।

हालाँकि अभी तक "some_project" का अभी भी निर्माण नहीं हुआ है, लेकिन डाउनस्ट्रीम को ट्रिगर नहीं किया है उम्मीद के मुताबिक प्रोजेक्ट करें।

कहा जा रहा है कि शायद तुम "अधिक भाग्य होगा। अगर यह आप के लिए काम करता है तो मुझे बतलाएगा।

(किसी और ने यहां एक समान प्रश्न पूछा है -> जेनकिंस: अपस्ट्रीम परिवर्तन पर ट्रिगर मल्टी-शाखा पाइपलाइन )