2012-10-24 7 views
22

मेरे पास क्लाउड सर्वर दुनिया भर के अलग-अलग डेटा केंद्रों में स्थित हैं। प्रत्येक डेटा सेंटर दूसरों से अलग है।क्या नेक्सस या आर्टिफैक्टरी स्टोर सरल tar.gz कलाकृतियों को स्टोर कर सकते हैं?

मैं इन क्षेत्रों में से प्रत्येक में आसानी और स्थिरता वाले सर्वरों के व्यक्तिगत समूहों (जो कि एक देव, परीक्षण, और उत्पादन क्लस्टर) के विभिन्न संस्करणों को चला रहा है, के लिए कलाकृतियों को तैनात करने का एक आसान तरीका ढूंढ रहा हूं। ऐसा लगता है कि एक आर्टिफैक्ट सर्वर है जो मुझे चाहिए क्योंकि मैं क्लाउड सर्वर पर एक स्थापित स्क्रिप्ट निष्पादित कर सकता हूं, जो सही सॉफ़्टवेयर आर्टिफैक्ट को खींचता है।

अब, मैं संचालन पक्ष पर काम करता हूं। मुझे निर्माण करने, या सॉफ़्टवेयर निर्माण निर्भरताओं का प्रबंधन करने की परवाह नहीं है। मैं बस एक आर्टिफैक्ट सर्वर चाहता हूं जहां मैं बाद में अपने पैकेज के सभी अलग-अलग संस्करणों को एक्सेस के लिए स्टोर कर सकता हूं। किकर, यह है कि मेरे पास स्टोर करने के लिए कई प्रकार के कलाकृतियों हैं।

  • शैल स्क्रिप्ट
  • पाइथन स्क्रिप्ट
  • कठपुतली प्रकट होता है
  • डेबियन फ़ाइलें (अक्सर कई debians की एक tar.gz फ़ाइल के रूप में वितरित)

नेक्सस सकते हैं या Artifactory इन सब का प्रबंधन पैकेज के प्रकार, या मुझे एक अलग दिशा में देखना चाहिए? मैं अपनी शेल स्क्रिप्ट परियोजनाओं में फ़ाइलों को जोड़ने का विरोध नहीं कर रहा हूं जो बस tar.gz फ़ाइलों को उत्पन्न करते हैं। मैं सिर्फ एक आर्टिफैक्ट रिपोजिटरी स्थापित करने के पथ को नीचे नहीं जाना चाहता, आखिरकार, थोड़ा स्क्रिप्टिंग, wget, और एक अपाचे सर्वर ठीक काम करेगा।

उत्तर

22

दोनों Artifactory और नेक्सस फ़ाइल के किसी भी प्रकार संभाल कर सकते हैं, के रूप में वे दोनों "बाइनरी भंडार प्रबंधक" हैं।

हालांकि, नेक्सस तकनीकी रूप से किसी भी फाइल को स्टोर कर सकता है, लेकिन बाइनरी के लिए समर्थन की कमी है जो मेवेन रिपोजिटरी लेआउट का पालन नहीं करता है। उदाहरण के लिए, ऐसी फाइलों को अनुक्रमित नहीं किया जाएगा और खोजों में पुनर्प्राप्त नहीं किया जा सकता है; इसके अलावा, गैर Maven कलाकृतियों उनके रास्ते में मॉड्यूल जानकारी उलझाना है, तो वर्तमान में Artifactory केवल भंडार है कि कलाकृतियों पर कि का इस्तेमाल करते हैं और संस्करण आधारित संचालन अनुमति दे सकते हैं (जैसे, डाउनलोड नवीनतम संस्करण क्वेरी)

इन दोनों को हालांकि है Maven दुनिया में किसी समस्या को हल करके उपकरण शुरू हो गए हैं, स्मार्ट बाइनरी प्रबंधन की आवश्यकता कई अन्य क्षेत्रों में operations included में पहचानी गई है।

द्विआधारी को एक विशेष प्रबंधक की आवश्यकता होती है, और हालांकि नेटवर्क शेयर/एससीएम/फ़ाइल सर्वर शुरुआत में व्यवहार्य विकल्प की तरह लगते हैं; वे सिर्फ स्केल नहीं करते हैं।

अन्य विज्ञापन-प्रसार समाधानों पर प्रबंधक के कुछ लाभों के लिए my answer to a similar question भी देखें।

4

हां, आप गैर-जार फ़ाइलों को अपलोड कर सकते हैं। उदाहरण के लिए:

mvn deploy:deploy-file -DgroupId=org.group.id -DartifactId=artifact-id -Dversion=0.0.0.1-SNAPSHOT -Dpackaging=tar.gz -DrepositoryId=repository-id -Durl=http://url -Dfile=localfile-0.0.0.1-SNAPSHOT.tar.gz 

नेक्सस के नए संस्करण कुछ फाइलों जैसे टैर, एसएफएफ और अन्य को संभाल लेंगे, यह सत्यापित करके कि वे ठीक तरह से गठित हैं। हालांकि, यह अप्रत्याशित या अवांछित व्यवहार का कारण बन सकता है।

क्या यह जाने का सबसे अच्छा तरीका है ... केवल आप अपने उपयोग के मामलों के आधार पर कह सकते हैं। कारक कितनी बार बदलते हैं, नेटवर्क विलंबता, और अन्य रणनीतियां बना सकते हैं या तोड़ सकते हैं।

refs:

https://stackoverflow.com/a/33311645/32453

http://betterlogic.com/roger/2012/04/mavennexus-upload-tgztar-gz-file/

+0

धन्यवाद। मददगार था! –

0

आप (अन्य उत्तर देखें) कर सकते हैं। आप भी इस तरह उदाहरण के लिए उन्हें का उल्लेख कर सकते हैं (हालांकि एक उदाहरण अच्छा होगा):

आप/उल्लेख कर सकते हैं इस प्लगइन की तरह उनका इस्तेमाल: लिंक के लिए

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-dependency-plugin</artifactId> 
    <executions> 
     <execution> 
     <id>copy</id> 
     <phase>package</phase> 
     <goals> 
      <goal>copy</goal> 
     </goals> 
     <configuration> 
      <artifactItems> 
      <artifactItem> 
       <groupId>org.apache</groupId> 
       <artifactId>activemq-distro</artifactId> 
       <version>5.7.0</version> 
       <type>gz</type> 
       <overWrite>true</overWrite> 
       <outputDirectory>${project.build.directory}</outputDirectory> 
      </artifactItem> 
      </artifactItems> 
      <!-- other configurations here --> 
     </configuration> 
     </execution> 
    </executions> 
    </plugin> 
संबंधित मुद्दे