2016-08-26 12 views
9

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

def DeployModule(jobName, jobBranch, serverHostName, database){ 
build job: jobName, parameters: [[$class: 'StringParameterValue', name: 'Branch', value: jobBranch], [$class: 'StringParameterValue', name: 'DatabaseAction', value: database], [$class: 'StringParameterValue', name: 'Profile', value: serverHostName]] 
println "$jobName Succesfull" 
} 

क्या वास्तविक निर्माण संख्या को बदलने के लिए मेरे सरल निर्माण कार्य विधि को बदलने का कोई तरीका है जो ट्रिगर किया गया था? पाइपलाइन कंसोल प्रिंट करता है कि कौन सा बिल्ड नंबर बनाया गया है, मुझे यकीन नहीं है कि इसे मेरे ग्रोवी कोड में कैसे प्राप्त किया जाए।

[Pipeline] build (Building tms-auto-build) 
Scheduling project: tms-auto-build 
Starting building: tms-auto-build #298 

उत्तर

13

यह वास्तव में कोई ब्रेनर नहीं था। अगर मैं एक चर के लिए build job: jobName निर्धारित करते हैं, कि चर एक RunWrapper

https://github.com/jenkinsci/pipeline-plugin/blob/d3f66c6f04d1d979957f02819b19291e2c35e276/support/src/main/java/org/jenkinsci/plugins/workflow/support/steps/build/RunWrapper.java

RunWrapper एक .getNumber() कि काम करता है के रूप में है सही

def testing = build job: "tms-auto-build" 
println testing.getNumber() 
+0

मैं इस कोशिश की और सफल बनाता है के लिए ठीक काम किया, लेकिन जब कोई बिल्ड जॉब विफल हो जाता है तो काम नहीं करता है। मैंने यहां अपना विस्तृत प्रश्न पोस्ट किया है: http://stackoverflow.com/questions/43689169/jenkins-pipeline-catch-build-job-info-for-a-failed-parallel-build – ManyuBishnoi

संबंधित मुद्दे