2012-07-17 9 views
7

मेरे निर्माण कंसोल के शीर्ष के पास मुझे "अंतिम निर्मित संशोधन:" w/एक संशोधन # दिखाई देता है। मैं अपनी बिल्ड स्क्रिप्ट में इस अंतिम निर्मित rev # को कैसे एक्सेस कर सकता हूं? मैं ग्रैडल का उपयोग कर रहा हूं, लेकिन मुझे नहीं लगता कि यहां मायने रखता है। क्या जेनकिंस सिस्टम प्रॉपर्टी में आखिरी निर्मित रेव # प्रदान करते हैं? निश्चित रूप से यह ...मैं जेनकींस के अनुसार अंतिम निर्मित संशोधन का उपयोग कैसे कर सकता हूं?

उत्तर

1

मुझे नहीं लगता कि Git प्लगइन एक वातावरण चर के रूप में पिछले निर्मित संशोधन का निर्यात करता है, लेकिन जानकारी की तरह एक साधारण शेल कमांड का उपयोग कर आसानी से उपलब्ध है:

curl -sf "$BUILD_URL/api/xml?xpath=//lastBuiltRevision/SHA1/text()" 

BUILD_URL हमेशा निर्माण के अपने पृष्ठ को इंगित करता है और जानकारी के बाकी XML API का उपयोग उपलब्ध हो रहा है।

2

वर्तमान बिल्ड-संख्या जेनकींस-चर BUILD_NUMBER के रूप में प्रदान की जाती है अपने निर्माण स्क्रिप्ट से उपयोग करने के लिए तुच्छ होना चाहिए

  • यूनिक्स में यह रूप में $ {आप के लिए निर्धारित है BUILD_NUMBER}
  • Windows में यह

चर की पूरी सूची के रूप में % BUILD_NUMBER% उपलब्ध है मैं
: http: पर, अपने जेनकींस सर्वर पर उपलब्ध रों // [अपने-जेनकींस-सर्वर]/env-vars.html

+0

यहां टिप्पणी कर रहा है क्योंकि यह जेनकींस बिल्ड नंबर प्राप्त करने का सही उत्तर है। यदि आपका प्रश्न Mercurial भंडार की संशोधन संख्या के बारे में था, तो आप क्लोन रिपोजिटरी "एचजी आईडी-एन" के भीतर से निम्न आदेश निष्पादित करना चाहते हैं और फिर आउटपुट को उचित रूप से निर्देशित करना चाहते हैं (यानी, इसे एक चर या लॉग फ़ाइल। –

12

आप सिस्टम पर्यावरण चर के रूप में सीधे जेनकींस BUILD_NUMBER तक पहुंच सकते हैं।

task getBuildNumber << { 
    ext.env = System.getenv() 
    ext.buildNumber = env.BUILD_NUMBER?.toInteger() 
    println "Build Number: $buildNumber" 
} 
+0

'env.BUILD_NUMBER' में वीसीएस संशोधन नहीं है, लेकिन जेनकींस बिल्ड का नंबर है। यह कुछ मामलों में उपयोगी है, लेकिन जहां तक ​​मैं यह कह सकता हूं कि ओपी –

7

बाहर कर देता है, Git प्लगइन एक वातावरण चर के रूप में पिछले निर्माण संशोधन निर्यात करता है। तो बजाय स्वीकार किए जाते हैं जवाब का उपयोग करने का: वास्तव में क्या उपलब्ध है यह देखने के लिए करने के लिए अपने निर्माण स्क्रिप्ट तो Add Build Step > Execute Shell चयन करने के लिए है

GIT_PREVIOUS_COMMIT 

एक failproof तरीका बस निम्नलिखित जोड़ें:

curl -sf "$BUILD_URL/api/xml?xpath=//lastBuiltRevision/SHA1/text()" 

आप सिर्फ इस बजाय उपयोग कर सकते हैं :

export 

अपने कंसोल (निर्माण के लिए) देखें और आपको बहुत सारे महान पर्यावरण चर उपलब्ध हैं। Git से संबंधित चर है कि मेरे पास उपलब्ध थे (Git प्लगइन का उपयोग) थे:

GIT_AUTHOR_EMAIL 
GIT_AUTHOR_NAME 
GIT_BRANCH 
GIT_COMMIT 
GIT_COMMITTER_EMAIL 
GIT_COMMITTER_NAME 
GIT_PREVIOUS_COMMIT 
GIT_URL 

अन्त में, उपलब्ध वातावरण चर का एक कम व्यापक देखने के लिए, आप भी सिर्फ इस यूआरएल पर जा सकते हैं: http://[your-jenkins-domain-and-port]/env-vars.html

+0

के लिए क्या पूछ रहा है नोट करें कि ये चर नहीं हैं पाइपलाइन प्लगइन के तहत उपलब्ध (अभी तक) [जेनकिन्स -35230 के संकल्प का इंतजार कर रहा है गिट प्लगइन का पर्यावरण चर पाइपलाइन स्क्रिप्ट में काम नहीं कर रहा है] (https: // मुद्दों।jenkins-ci.org/browse/JENKINS-35230) –