2012-03-07 22 views
5

मैं जेनकिंसहडसन क्ली जावा के माध्यम से उपयोग कर रहा हूं। मैं प्रत्येक निर्माण से पहले एक विशेष निर्देशिका साफ़ करना चाहता हूं। कोई उपाय ? मैंने maven कमांड स्वच्छ पैकेज प्रदान किया है जो प्रत्येक निर्माण के लिए स्वच्छ लक्ष्य फ़ोल्डर प्रदान करता है। मैं क्या चाहता हूं कि मैं प्रत्येक निर्माण से पहले कुछ अन्य निर्देशिका को साफ करना चाहता हूं। यह कैसे करना है ?प्रत्येक निर्माण जेनकींस में शुरू होने से पहले एक विशेष निर्देशिका को कैसे साफ करें?

में जेनकींस मैं Maven परियोजना, जो जब निर्माण कार्यस्थान डाउनलोड फ़ाइलों करेंगे की URL निर्दिष्ट नहीं। जब मैं स्वच्छ पैकेज कमांड देता हूं, तो यह बिल्डिंग के दौरान हर बार फ़ोल्डर को साफ़ करता है। फ़ोल्डर को लक्षित करने के लिए समानांतर एक और फ़ोल्डर है। मैं स्पष्टफ़ोल्डर जो मैवेन प्रोजेक्ट के अंदर है।

+1

कौन सी निर्देशिका - क्या यह सीधे आपके निर्माण (कार्यक्षेत्र, कलाकृतियों, आदि) से संबंधित है, पूरी तरह से असंबंधित, या अर्ध-संबंधित (यानी आपके निर्माण, build_id, आदि में पैरामीटर द्वारा की गई)? –

+0

मैंने और जानकारी जोड़ दी है। धन्यवाद। – Muthu

+0

@ ब्रैंडनवी का समाधान आपके लिए काम करेगा? यदि नहीं - कृपया स्पष्ट करें कि क्यों नहीं। –

उत्तर

0

pom.xml में तरह

नीचे
<profiles> 
     <profile> 
      <id>ci</id> 
      <activation> 
       <activeByDefault>false</activeByDefault> 
      </activation> 
      <build> 
       <plugins> 
        <plugin> 
         <artifactId>maven-clean-plugin</artifactId> 
         <version>2.5</version> 
         <executions> 
          <execution> 
<id>default-clean</id> 
<phase>pre-clean</phase> 
<goals> 
    <goal>clean</goal> 
</goals> 
          </execution> 
         </executions> 
         <configuration> 
          <filesets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<fileset> 
    <directory>do_not_checkin/build</directory> 
    <includes> 
     <include>**/*</include> 
           </includes> 
    <followSymlinks>false</followSymlinks> 
          </fileset> 
          </filesets> 
         </configuration> 
        </plugin> 
       </plugins> 
      </build> 
     </profile> 
    </profiles> 

प्रोफ़ाइल टैग को जोड़ने।

प्रत्येक निर्माण शुरू होने से पहले, किसी विशेष निर्देशिका को साफ़ करने के लिए मेवेन क्लीन प्लगइन का उपयोग करता है।

हम mvn -Pci clean package जैसे पैकेज कर सकते हैं।

निर्देशिका की सफाई के बाद, पैकेज चरण निष्पादित किया जाता है।

6

आप संस्करण 1.433 या उच्च चला रहे हैं, परियोजना विन्यास खंड में पूर्व कदम/के बाद के चरण, ऊपर और नीचे बनाएं खंड स्थित क्रमश: का उपयोग करें।

अन्यथा, M2 Extra Steps Plugin इंस्टॉल करें।

आप सफाई को संभालने के लिए maven-clean-plugin कॉन्फ़िगर कर सकते हैं।

यदि आप नीचे बताए अनुसार अपने pom.xml को संशोधित नहीं कर सकते हैं, तो आप इस plugin का भी उपयोग कर सकते हैं।

+0

मैंने कोशिश की। मुझे नहीं पता कि यह कैसे करें? मेवेन प्रोजेक्ट के अलग-अलग फ़ोल्डर को निर्माण शुरू होने से पहले हर बार हटा दिया जाना चाहिए। – Muthu

+1

आपने क्या प्रयास किया? आप केवल बैच/खोल कमांड का उपयोग नहीं कर सकते? कृपया बताए बिना उत्तर को अन-मार्क न करें। – bvulaj

+0

निर्माण के दौरान मेरे मेवेन प्रोजेक्ट में उत्पन्न होता है लक्ष्य फ़ोल्डर को साफ़ कर दिया जाता है और फिर से पुन: उत्पन्न किया जाता है। जेनकिन्स में प्रत्येक निर्माण शुरू होने से पहले, मैं एक निर्देशिका को साफ़/हटाना चाहता हूं। ताकि प्रेस्टेप्स में, मैंने निर्देशिका को साफ़ करने के लिए खोल कमांड का उपयोग किया। यह मैक मशीन के लिए ठीक काम करता है, यह विंडोज मशीन के लिए काम नहीं कर रहा है। मैं मशीन निर्भर कोड के बिना एक निर्देशिका को साफ/हटाना चाहता हूं। क्या कोई और तरीका है ? – Muthu

3

आप प्रत्येक निर्माण से पहले इच्छित निर्देशिका को साफ़ करने के लिए एक जॉब जोड़ सकते हैं। मैंने इसके लिए एएनटी का उपयोग किया है, मावेन के बारे में कोई जानकारी नहीं है। यह मशीन पर निर्भर नहीं होगा।

+0

इस पुरानी पोस्ट पर विस्तार करने के लिए देखभाल? – OK999

3

मुझे यकीन नहीं है कि मैं सही तरीके से प्रश्न समझता हूं, लेकिन यदि आप परिवर्तनों के लिए मतदान के लिए भंडार का उपयोग कर रहे हैं और प्रत्येक नए निर्माण से पहले आप सभी फाइलों को रेपो से खींचते हैं तो आप केवल विकल्पों में से एक का उपयोग कर सकते हैं: " पहले हटाने से साफ चेकआउट अनुकरण करें ... "इस तरह सभी बिल्डरों को प्रत्येक बिल्ड से पहले हटा दिया जाना चाहिए।

यदि ऐसा नहीं है तो मेरे दिमाग में आने वाला सबसे सरल उत्तर केवल एक सीएमडी स्क्रिप्ट लिखना है जो अनचाहे फ़ाइलों/निर्देशिकाओं पर बस DEL कमांड करता है और इसे विंडोज बैच कमांड के रूप में एक पूर्व चरण या पोस्ट चरण के रूप में चलाता है । commad को क्रियान्वित करते समय बस Maven आदेश mvn -Pci clean निष्पादित