के मामले में समस्याओं मैं अपने Jenkinsfile में नीचे एक के समान कोड है: उपरोक्त कोड क्योंकि में कुछ जेनकींस-पाइपलाइन से संबंधित त्रुटियों के विफल रहता हैट्राई/कैच/अंत में मास्क Jenkinsfile ग्रूवी संकलक अपवाद
node {
checkout scm
// do some stuff
try {
// do some maven magic
} catch (error) {
stage "Cleanup after fail"
emailext attachLog: true, body: "Build failed (see ${env.BUILD_URL}): ${error}", subject: "[JENKINS] ${env.JOB_NAME} failed", to: '[email protected]'
throw error
} finally {
step $class: 'JUnitResultArchiver', testResults: '**/TEST-*.xml'
}
}
try { }
(उदाहरण के लिए अनुमोदित स्थैतिक विधि का उपयोग) स्क्रिप्ट चुपचाप विफल रहता है। जब मैं कोशिश/पकड़/अंत में हटा देता हूं तो मैं त्रुटियों को देख सकता हूं। क्या मैं कुछ गलत कर रहा हूं? error
को पुनर्स्थापित नहीं करना चाहिए लॉग में पाइपलाइन त्रुटियां दिखाई दें?
संपादित करें: मैंने वाक्यविन्यास को ग्रोवी करने के लिए समस्या को कम करने में कामयाब रहा है, उदाहरण के लिए मैं एक वेरिएबल का उपयोग करता हूं जिसे अभी तक असाइन नहीं किया गया है। उदाहरण: echo foo
यदि foo
कहीं भी घोषित/असाइन नहीं किया गया है तो जेनकींस निर्माण में असफल हो जाएंगे और अगर यह कोशिश/पकड़/अंत में अपवाद को पुनर्स्थापित करता है तो इसका कारण नहीं दिखाएगा।
यदि यह सादा ग्रोवी था, हाँ, यह काम करता, लेकिन क्योंकि यह एक ग्रोवी डीएसएल है, इसलिए डीएसएल धावक जो भी अपवाद के साथ चाहता है वह कर सकता है ... शायद आपको इसके बजाय प्रयास करना चाहिए: https: // jenkins.io/doc/pipeline/steps/workflow-basic-steps/#code-error-code-error-signal – Renato
@RenatoBut https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/# कोड-कैचरर-कोड-कैच-एरर-एंड-सेट-बिल्ड-परिणाम बताता है कि कोशिश/पकड़/आखिरकार काम करना चाहिए –
दाएं, लेकिन अगर आपको यह समस्या दिखती है तो ऐसा नहीं लगता है ... – Renato