2013-06-05 5 views
13

पर चल रहे जेनकींस में एक चर में गिट शॉर्ट हैश कैसे प्राप्त करें I एक चर में गिट शॉर्ट हैश प्राप्त करने का प्रयास कर रहा हूं। मैंने 'गिट रेव-पार्स - शॉर्ट हेड' चलाने के लिए GIT_COMMIT_SHORT चर सेट करने का प्रयास किया लेकिन यह काम नहीं किया। मुझे इस चर को चींटी निर्माण स्क्रिप्ट को पास करने की आवश्यकता है ताकि पैकेज नाम में यह छोटा हैश शामिल हो।विंडोज 2008

मैं विंडोज 2008 सर्वर पर जेनकींस चला रहा हूं।

धन्यवाद

+0

मैंने जेनकींस मुख्य कॉन्फ़िगरेशन में पर्यावरण चर सेट अप किया है। – user2367078

उत्तर

1

मैं तुम्हें एक गुण से पैरामीटर लोड करने के लिए आपके द्वारा बनाए गए फ़ाइल को हैश रखती EnvInject प्लगइन का उपयोग सुझाव देते हैं।

अपने git के परिणाम को अपने जॉब के वर्कस्पेस में गठित key=value फ़ाइल के परिणाम को प्रतिबिंबित करें और मैंने जो प्लगइन मैंने उल्लेख किया है उसे लोड करें।

मैंने इसे ऐसी आवश्यकताओं के लिए उपयोग किया और यह बहुत आसान है।

मुझे उम्मीद है कि इससे मदद मिलती है।

संपादित करें: कैसे एक गुण विंडो में फाइल लिखने के लिए:

@for /f "delims=" %l in ('git command') do @echo hash=%l >> hash.properties

उसके बाद, आप hash.properties प्लगइन के साथ लोड कर सकते हैं।

+1

त्वरित उत्तर के लिए एल्डड धन्यवाद। मैं समझता हूं कि आप एक प्रॉपर्टी फ़ाइल बनाने के लिए सुझाव दे रहे हैं जिसमें लघु हैश है और इसे EnvInject प्लगइन के माध्यम से अपलोड करें ताकि यह बिल्ड समय के दौरान पर्यावरण में सेटअप हो सके, यदि यह मामला विंडोज़ पर फ्लाई पर इस फाइल को कैसे बनाया जाए? – user2367078

+0

मेरा संपादन देखें। मैंने एक उदाहरण जोड़ा ... –

+0

क्या मैं इस आदेश को स्क्रिप्ट सामग्री में चला सकता हूं? – user2367078

23

शायद परिणाम आप इस तरह, GIT_REVISION टोकन मैक्रो का उपयोग किया जाएगा चाहते प्राप्त करने के लिए सबसे आसान तरीका:

${GIT_REVISION,length=6} 

अधिक जानकारी के लिए https://wiki.jenkins-ci.org/display/JENKINS/Token+Macro+Plugin पर एक नज़र डालें।

आशा इस मदद करता है,
जनवरी

+2

यह केवल उन क्षेत्रों के लिए काम करेगा जो टोकन मैक्रो का उपभोग करते हैं, जो AFAIK के निर्माण चरणों का उल्लंघन करता है। –

+1

@MattiasBengtsson आप सही हैं, लेकिन यह बिल्ड चरण पर निर्भर करता है। यह शेल स्क्रिप्ट चरण के लिए काम नहीं करेगा, लेकिन अगर मुझे सही याद है, तो मेवेन के लिए काम करना चाहिए –

0

किसी भी अतिरिक्त प्लगइन के बिना आप जेनकींस लिपि में निम्न आदेश का उपयोग कर के लिए प्रतिबद्ध प्राप्त कर सकते हैं ('निष्पादित विंडोज बैच आदेश' कदम का निर्माण):

for /f %%i in ('git rev-parse HEAD') do set GITHASH=%%i 

आदेश में लाइन आप सिंगल % बजाय %% उपयोग करना चाहिए:

for /f %%i in ('git rev-parse HEAD') do set GITHASH=%%i 
0

जेन पर निकट संबंधियों 2.73 Git प्लगइन इस प्लेसहोल्डर टेम्पलेट के साथ काम करता

${GIT_REVISION:0:7} 

मैं प्रसव के पाइप लाइन प्लगइन के साथ इसका इस्तेमाल किया कार्य नाम सेट करने।

ईजी बिल्डिंग जीआईटी संशोधन। ${GIT_REVISION:0:7}

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