2012-05-11 22 views
7

द्वारा पैरामीटर के माध्यम से स्किम टैग मानों को पास करना क्या मैं जेनकींस के लिए एसएमएम के पैरामीटर के मानों को पास कर सकता हूं?जेनकिंस

मेरी pom.xml में, मैं मान डिफ़ॉल्ट के रूप में निर्धारित किया है:

<scm> 
    <connection> scm:svn:https://172.10.10.30/svn/repPortal/branches/2012/Branch_A/ </ connection> 
    <developerConnection>scm:svn:https://172.10.10.30/svn/repPortal/branches/2012/Branch_A/</developerConnection> 
</ scm> 

समस्या है जब मैं एक और शाखा के साथ चल रहा है और (जारी प्रक्रिया के भीतर जेनकींस द्वारा एक रिलीज चलाना चाहते हैं, यह प्रोजेक्ट का टैग उत्पन्न करता है) यह हमेशा उस मूल्य को प्राप्त करेगा जो पोम में परिभाषित किया गया है।

मैं जेनकींस में एक विशिष्ट पैरामीटर में एक नया पथ पारित कर दूंगा जो स्वचालित रूप से स्किम पोम प्रोजेक्ट में सेट हो जाएगा।

मैंने पैरामीटरयुक्त इमारत में स्ट्रिंग पैरामीटर सेट करके कुछ परीक्षण किए हैं लेकिन उन्होंने दिए गए पैरामीटर और निर्माण में त्रुटि को पहचाना नहीं है।

-X -Dresume=false release:clean release:prepare release:perform \ 
    -DscmConnection="scm:svn:https://172.10.10.30/svn/repPortal/branches/2012/Branch_B"-DscmDeveloperConnection = "scm: svn: https ://172.10.10.30/svn/repPortal/branches/2012/Branch_B "scm: validate 

त्रुटि कायम ...

Caused by: org.apache.maven.shared.release.ReleaseFailureException: 
    Missing required setting: scm connection or developerConnection must be specified. 

वहाँ यह करने के लिए इतना है कि मैं बता सकता है एक रास्ता है:

एक और तरीका है "रिलीज लक्ष्यों और विकल्प" के माध्यम से पारित करने के लिए था जेनकींस द्वारा?

उत्तर

1

मैंने देखा कि एससीएम कनेक्शन के लिए परिभाषित गुण सही नहीं हैं। कमांड लाइन पर एससीएम कनेक्शन स्थापित करने की संपत्ति -Dproject.scm.connection है और डेवलपर कनेक्शन -Dproject.scm.developerConnection है।

+0

तो, मैंने अपने जेनकींस में निम्नलिखित निर्देशों का प्रयास किया लेकिन यह मेरे pom.xml में परिभाषित स्कैम टैग को संशोधित नहीं करता है: -X -Dresume = false रिलीज़: साफ रिलीज: रिलीज तैयार करें: perform -Dproject.scm.connection = एससीएम: एसवीएन: https: //172.10.10.30/svn/repPortal/branches/2012/Branch_B -Dproject.scm.developerConnection = scm: svn: https: //172.10.10.30/svn/repPortal/branches/2012/Branch_B क्या सेटिंग्स को फिर से लिखने का कोई अन्य तरीका है? – ricardo

+0

'रिलीज के बिना' -DdryRun = true' जोड़ें: उसी आदेश में प्रदर्शन करें। मध्यवर्ती पीओएम मेवेन बनाता है पर एक नज़र डालें। क्या उनमें से कोई भी सही दिखता है? इसके अलावा, जेनकींस के बिना कमांड लाइन पर इस dryRun कमांड को चलाने पर विचार करें, क्या आपको एक ही परिणाम मिल रहा है? अंतिम लेकिन कम से कम नहीं, 'मैवेन-रिलीज-प्लगइन' संस्करण 2.3 कल जारी किया गया था, और उन्होंने एससीएम उपयोग से संबंधित कुछ फिक्स किए, जो भी मदद कर सकते हैं। – user944849

1

MRELEASE-707 के अनुसार गुण connection और developerConnection केवल पढ़े जाते हैं और सीधे सेट नहीं किए जा सकते हैं। आपको यूआरएल के लिए अपनी संपत्ति को परिभाषित करना होगा और इसे प्लेसहोल्डर के रूप में उपयोग करना होगा (देखें: How to override maven property in command line?)।

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