वर्तमान में मेरी पाइपलाइन विफल हो जाती है (लाल), जब एक मेवेन-जॉब अस्थिर (पीला) होता है।जेनकिन्स पाइपलाइन विफल रहता है यदि चरण अस्थिर है
node {
stage 'Unit/SQL-Tests'
parallel (
phase1: { build 'Unit-Tests' }, // maven
phase2: { build 'SQL-Tests' } // shell
)
stage 'Integration-Tests'
build 'Integration-Tests' // maven
}
इस उदाहरण में नौकरी यूनिट-टेस्ट का परिणाम अस्थिर है, लेकिन पाइपलाइन में विफल होने के रूप में दिखाया गया है।
मैं नौकरियों/पाइपलाइन/जेनकींस को कैसे विफल कर सकता हूं (1) विफल होने की बजाय पाइपलाइन चरण अस्थिर हो सकता है और (2) विफल होने की बजाय पाइपलाइन की स्थिति अस्थिर हो सकती है।
मैंने MAVEN_OPTS
पैरामीटर -Dmaven.test.failure.ignore=true
जोड़ने का प्रयास किया, लेकिन इसने समस्या को हल नहीं किया। मुझे यकीन है कि build 'Unit-Test'
को कुछ तर्कों में लपेटना है जो परिणाम को पकड़ और संसाधित कर सकते हैं।
this logic के साथ एक उप-पाइपलाइन जोड़ना चाल नहीं करता है, क्योंकि उपवर्तन से चेकआउट करने का कोई विकल्प नहीं है (वह विकल्प नियमित मैवेन जॉब में उपलब्ध है)। यदि संभव हो तो मैं कमांडलाइन चेकआउट का उपयोग नहीं करना चाहूंगा।
और आप एक 'SUCCESS' परिणाम निर्धारित नहीं कर सकते, अगर इसे पहले से ही 'FAILED'' पर सेट किया गया था (जैसा कि यहां चर्चा की गई है (http://stackoverflow.com/questions/38221836/how-to-manipulate-the-build-result-of-a-jenkins-pipeline-job)। – StephenKing
जानकारी के लिए धन्यवाद। उत्तर में कहा गया। – michaelbahr
मुझे एक ही समस्या है। फिर भी मुझे कारण समझ में नहीं आता है।स्टेज व्यू प्लगइन अस्थिर (पीला) का समर्थन करता है, तो अस्थिर को FAILED क्यों माना जाता है? आपको हर समय currentBuild.result को सेट करने की आवश्यकता क्यों है और न केवल सबसे खराब लेना? – lqbweb