एक आर्टिफैक्ट क्या है?


53

काफी कुछ सवाल और जवाब हैं जो " आर्टिफ़ैक्ट " का उल्लेख करते हैं ।

मुझे आश्चर्य नहीं होगा अगर यह किसी भी तरह से संबंधित है ।

मेरे सवाल :

  • वास्तव में "आर्टिफैक्टल" (देवो के संदर्भ में) क्या है?
  • कलाकृतियों का उपयोग क्यों किया जाता है?

कुछ दिलचस्प जवाब मैं क्या बल्कि एक बुनियादी सवाल होना चाहिए। काफी मजेदार है कि वे सभी मुझे अच्छे पुराने मेनफ्रेम वातावरण में एक समान अवधारणा के बारे में याद दिलाते हैं (जहां मेरी DevOps जड़ें हैं ... और जहां से कई DevOps अवधारणाएं उत्पन्न होती हैं)।
Pierre.Vriens

जवाबों:


66

Artifactory JFrog द्वारा एक उत्पाद है जो एक बाइनरी रिपॉजिटरी प्रबंधक के रूप में कार्य करता है । उन्होंने कहा कि अक्सर एक 'आर्टिफैक्ट' का उपयोग अधिक सामान्य बाइनरी रिपॉजिटरी के एक पर्याय के रूप में करेगा, बहुत से लोग फ्रिज को निरूपित करने के लिए फ्रिजिडर या फ्रिज का उपयोग करते हैं, भले ही वह फ्रिजिडर ब्रांड हो या नहीं।

बाइनरी रिपॉजिटरी स्रोत कोड रिपॉजिटरी का एक प्राकृतिक विस्तार है, इसमें यह आपकी बिल्ड प्रक्रिया के परिणाम को संग्रहीत करेगा, जिसे अक्सर कलाकृतियों के रूप में दर्शाया जाता है। ज्यादातर बार बाइनरी रिपॉजिटरी का उपयोग सीधे नहीं किया जाएगा, बल्कि एक पैकेज मैनेजर के माध्यम से किया जाएगा जो चुने गए तकनीक के साथ आता है।

ज्यादातर मामलों में ये अलग-अलग एप्लिकेशन घटकों को संग्रहीत करेंगे, जिन्हें बाद में एक पूर्ण उत्पाद में इकट्ठा किया जा सकता है - इस प्रकार एक निर्माण को छोटे टुकड़ों में तोड़ने की अनुमति देता है, संसाधनों का अधिक कुशल उपयोग करता है, बिल्ड समय को कम करता है, बाइनरी डीबग डेटाबेस के बेहतर ट्रैकिंग आदि।

यहां कुछ सबसे लोकप्रिय पैकेज मैनेजर दिए गए हैं जिन्हें बाइनरी रिपॉजिटरी का उपयोग करके प्रबंधित किया जा सकता है:

  • जावा: जार, कान, युद्ध आदि में मावेन और आधिकारिक मावेनसेन्ट्रल हैं । कई अन्य पैकेज मैनेजर हैं जो मावेन बाइनरी रिपॉजिटरी प्रारूप का उपयोग करेंगे ( आइवी , ग्रेडल आदि)।
  • .नेट: .NET घटकों (DLL और EXE) के लिए nuget , लेकिन इसका उपयोग एक वितरण तंत्र के रूप में भी किया जा सकता है, जैसे कि चॉकलेट थोरग सिस्टम जैसे चॉकलेटरी । पॉवर्सशेल के नए संस्करण भी पावरशेल मॉड्यूल को वितरित करने के लिए इसका लाभ उठा सकते हैं, हालांकि पावरशेल गैलरी जिसमें से एक बाइनरी रिपॉजिटरी और नगेट प्रारूप में एक रिपॉजिटरी के साथ एक स्थानीय वितरण का निर्माण कर सकता है। OneGet को भी चेक करें यदि Windows वितरण प्रबंधन आपकी रुचि है।
  • जावास्क्रिप्ट में: हमारे पास npm है जो सबसे लोकप्रिय में से एक है, इसमें नोडज की आवश्यकता होगी
  • अजगर में: पाइप है और आधिकारिक पैकेज इंडेक्स पिपी है , जो बाइनरी रिपॉजिटरी के माध्यम से एक स्थानीय उदाहरण भी बना सकता है जो प्रारूप का समर्थन करेगा।

यह सूची पूरी तरह से दूर है, बस एक विचार है कि वहां क्या है।

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

जैसा कि मैंने पहले कहा कि वहाँ कई उत्पाद हैं जो बाइनरी पैकेज प्रबंधकों के रूप में काम कर सकते हैं, उनके लक्ष्य उपयोग में दूसरों की तुलना में कुछ अधिक सामान्य हैं, उनकी पहुंच और कीमतों में भी व्यापक रूप से भिन्नता है।

मेरी व्यक्तिगत राय है कि बाइनरी रिपोजिटरी स्रोत कोड रिपॉजिटरी या निरंतर एकीकरण के रूप में एक अच्छी तरह से डिज़ाइन किए गए डेवप्स सेटअप का एक हिस्सा है।


इस दिलचस्प जवाब के लिए मर्सी (भी)। किसी कारण के लिए, यह सब मुझे ऐसा लगता है जैसे "हम्म, इसलिए यह वही है जो हम आम तौर पर कहते हैं, अच्छे पुराने मेनफ्रेम वातावरण में, लोड लाइब्रेरी जैसी चीजें जिनमें निष्पादक (आपके CICS / IMS / IDMS क्षेत्रों को चलाने के लिए उपयोग किया जाता है) ..." ।
पियरे.विरेंस

1
जोड़ने के लिए एक महत्वपूर्ण बात Maven सेंट्रल आदि जैसे सार्वजनिक खजाने की वृद्धि है modulecounts.com - ये अक्सर सॉफ्टवेयर परियोजनाओं के लिए आपूर्ति स्रोत है जो बन रहे हैं और अधिक और इन घटकों के साथ साथ कस्टम गोंद / दृश्यपटल कोड के लिए और निश्चित रूप ग्राहक विशिष्ट व्यवसाय के अधिक विधानसभा srores तर्क।
पीटर

1
माड्यूल काउंट्स डॉट कॉम के बारे में कभी नहीं सुना है, साइट अभी नीचे है, हालांकि, मैं इसे बाद में जांचूंगा।
न्यूटोपियन

1
फ्रिज के लिए दिलचस्प सादृश्य :)
रवि तिवारी

6

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

इसके अलावा, आर्टिफैक्ट के महत्व को DevOps के दर्शन के संबंध में समझा जा सकता है "एक बार निर्माण, हमेशा तैनात"। यह निरंतर द्विआधारी में एक लंबा रास्ता तय करता है ताकि आपके बाइनरी को एक बार बनाया जा सके, इसे आर्टिफैक्ट में डाल दिया जाए और फिर इसे वहां से सभी विभिन्न वातावरणों में तैनात करने के लिए कहा जाए। इस तरह, हमें यकीन है कि देव में जो कोड काम करता है वह प्रोडक्शन की ओर धकेला गया है और वहां काम करेगा।


दिलचस्प व्याख्या, मर्सी!
Pierre.Vriens

5

Artifactory Jfrog से एक बाइनरी रिपोजिटरी प्रबंधक उत्पाद है ।

आप सही हैं - एक द्विआधारी भंडार प्रबंधक होने के नाते इसका उपयोग आमतौर पर सॉफ्टवेयर विकास प्रक्रिया में उत्पन्न और उपयोग की गई भंडारण के प्रबंधन के लिए किया जाता है।

से Artifactory के मुख्य वेब पेज :

पहले, और केवल, बाजार पर सार्वभौमिक विरूपण साक्ष्य रिपोजिटरी प्रबंधक के रूप में, JFrog Artifactory पूरी तरह से किसी भी भाषा या प्रौद्योगिकी द्वारा बनाए गए सॉफ्टवेयर पैकेजों का समर्थन करता है।

...

... आर्टिफैक्ट कलाकृतियों को विकास से उत्पादन तक ट्रैक करने के लिए एंड-टू-एंड, स्वचालित और बुलेट-प्रूफ समाधान प्रदान करता है।

जिन उल्लेखों का आपने उल्लेख किया है वे सुझाव देते हैं कि यह DevOps में एक सामान्य ट्रेडमार्क के लिए पर्याप्त लोकप्रिय हो सकता है ।


1
धन्यवाद Dan, आप किसी भी तरह पुष्टि करते हैं कि एक Artifactory शब्दों का एक संयोजन की तरह है Artifac ts Reposi साथ टोरी । अतिरिक्त प्रश्न जो मुझे आश्चर्यचकित करता है वह यह है: उत्पादन में उपयोग की जाने वाली कलाकृतियों के बारे में क्या है, लेकिन जो बायनेरिज़ नहीं हैं, जैसे कि PHP कोड, सीएसएस फाइलें, बैश स्क्रिप्ट आदि?
पियरे.विरेंस

1
एप्लिकेशन कोड के लिए उनके पास cvs, svn, git, mercurial .. जैसे सोर्स कोड वर्जनिंग सिस्टम हैं। और कॉन्फ़िगरेशन कोड, कॉन्फ़िगरेशन मैनेजमेंट और डिस्ट्रीब्यूशन सिस्टम के लिए जैसे कठपुतली, शेफ, एसिबल, सॉल्ट ..
पीटर

@ पियरे.वीयरेंस मैं इसके बारे में सोचने के लिए उपयोग नहीं करता था, किसी तरह "कारखाना" हमेशा दिमाग में आया :) लेकिन मैं अब पूरी तरह से देखता हूं। धन्यवाद!
दान कॉर्निलेस्कु

@ J.Doe उस जोड़ के लिए, और सिर्फ अपनी टिप्पणी को आगे बढ़ाने के लिए ... मेनफ्रेम पर उनके पास "ChangeMan ZMF", "Endevor SCM", आदि जैसे उपकरण हैं। ये उपकरण आपके द्वारा बताए गए सभी कार्यों के लिए उपयोग किए जाते हैं (संस्करणकरण,) वितरण, आदि, लेकिन यह भी कि सभी से संबंधित वर्कफ़्लो, सुरक्षा, आदि के लिए)।
पियरे.विरेंस

तो अगर हम केवल msinframes को सुदृढ़ करते हैं तो उनके साथ क्या गलत हो सकता है ?!
पीटर

4

मुझे लगता है कि चीजों को उलझाना आजकल हर किसी की सराहना हो रही है। मैं इस प्रश्न का संक्षेप में उत्तर देने का प्रयास करूंगा।

सोर्स रिपॉजिटरी का उपयोग कोड और उसके संस्करणों को संग्रहीत करने के लिए किया जाता है, जबकि आर्टिफैक्ट का उपयोग निष्पादन योग्य कार्यक्रमों को संग्रहीत करने के लिए किया जाता है जो उन कोड के आउटपुट होते हैं [द्वैत - dll, jar, war, ear, msi, exe files etc.]

अब यही कारण है कि आप उन्हें एक रेपो में अलग से रखना चाहेंगे जो आपके कोड से अलग हो - सुरक्षित पहुंच, हैकिंग के खतरे, दुर्भावनापूर्ण कोड चेक इंस या सीधे उन ग्राहकों के लिए एक अलग एवेन्यू है, जिन्हें सिर्फ जरूरत है बाइनरी।

SCM की तकनीक 2 प्रकार के उपयोगकर्ताओं (डेवलपर विशेषाधिकारों के साथ एक को बनाने में स्वयं को विभाजित कर सकती है, जो स्रोत कोड तक पहुंच बनाने में सक्षम होंगे और दूसरे ग्राहक के रूप में जो केवल बायनेरिज़ तक पहुंचने में सक्षम होंगे)। लेकिन इसने उस मार्ग को नहीं लिया! इसलिए अब हमारे पास कलाकृतियां हैं।


2

एक कलाकृति

एक ऐसी चीज है जो किसी विशिष्ट प्रक्रिया से उत्पन्न / उत्पन्न / तैयार की जाती है

एक जावा परियोजना के निर्माण से बाहर जार।

अपने दिमाग से बाहर का सवाल

एक कारखाने से बाहर कार

नया गीत

एक भंडार

एक ग्रहण है जहाँ चीजें बनी रहती हैं

एक जावा परियोजना के लिए गितुब।

अपने कठिन सवालों के लिए StackExchange

थ्योरी में, एक कलाकृतियों - ory विरूपण साक्ष्य का एक भंडार होगा जहां वे अपने पूरे जीवन चक्र में बनाए और प्रबंधित किए जाते हैं।

DevOps के संदर्भ में, आर्टिफैक्ट एक ऐसा उत्पाद है जो द्विआधारी कलाकृतियों का प्रबंधन करता है। यह विभिन्न प्रकारों (जार, पायथन और एनपीएम पैकेज, आदि ...) को संग्रहीत और प्रबंधित करता है जो आप अपने बिल्ड से बाहर निकालते हैं और संकलन या परिनियोजन समय पर फिर से उपयोग करते हैं।


दिलचस्प व्याख्या, मर्सी!
Pierre.Vriens

ca me fait plaisir!
गमोल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.