2012-03-21 16 views
5

मैं एक bash स्क्रिप्ट है कि इस तरह दिखता है उपयोगकर्ता की पुष्टि की है:जेनकींस - निर्माण से पहले एक स्क्रिप्ट को निष्पादित, तो निर्माण करने के लिए

#!/bin/sh 
previousRelease=`git describe --tags --match "release*" origin/release` 
git diff --name-status $previousRelease..origin/release 

वहाँ जेनकींस निर्माण की प्रक्रिया के हिस्से के रूप में यह निष्पादित होने का एक रास्ता है ? अंतिम रिलीज के बाद से बदली गई फ़ाइलों की एक सूची देखने का इरादा है, यह सुनिश्चित करने के लिए मैन्युअल चरण के रूप में रिलीज होना चाहिए। जिस उपयोगकर्ता ने निर्माण को ट्रिगर किया है, उसे आउटपुट पढ़ने की जरूरत है और फिर पुष्टि की जानी चाहिए कि रिलीज आगे बढ़ना चाहिए।

उत्तर

2

जेनकिंस में अधिकांश चीजें संभव हैं लेकिन यदि यह करने का सबसे अच्छा तरीका है तो यह एक और प्रश्न है।

इसे हल करने के लिए मैं diff की जांच के लिए दो नौकरियों के साथ एक दृष्टिकोण का उपयोग करूंगा (गिट रिपोजिटरी पर एक हैक) वास्तविक रिलीज करने के लिए अन्य काम।

जांच diff काम

1 निर्माण प्रकार के साथ प्रकार फ्रीस्टाइल परियोजना "खोल निष्पादित" और इसके बाद के संस्करण अपनी स्क्रिप्ट चलाने की कोई कार्य बनाएं। वर्तमान गिट-आईडी के साथ रिलीज जॉब मैन्युअल रूप से तर्क के रूप में प्रारंभ करने के लिए एक क्लिक करने योग्य लिंक बनाने के लिए लॉग के अंत में कुछ प्रिंट जोड़ें।

बस कर देगा यह तो क्लिक करने योग्य सांत्वना उत्पादन में यूआरएल मुद्रण:

export GITID=`git log -n| grep and sed or awk something` 
echo http://jenkins.example.com:8888/job/releaseme/buildWithParameters?label=$GITID&parameters=build 

स्वीकार परिवर्तन यूजर इंटरफेस का अनुरोध आपने किया पैदा करेगा।

रिहाई काम

2 दूसरी नौकरी बनाएं (ऊपर मैं तुम्हें इसके releaseme नामित ग्रहण) जाने नौकरी तर्क के रूप में एक पैरामीटर (टिक "यह निर्माण पैरामिट्रीकृत है") तर्क Git हो बनाने के लिए है -आप रिलीज करना चाहते हैं। इस नौकरी में अपनी रिलीज स्क्रिप्ट बनाएं।

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