एक कलाकृतियों (या कलाकृतियों) क्या है?


17

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

कोई सुझाव?

Ps: एक उत्तर से मुझे यह समझ में आ रहा है कि शायद आर्टिफैक्ट वह है जो मैं सोच रहा हूँ (भ्रमित?) के बारे में ...?


2
अंग्रेजी एसई के हमारे दोस्तों ने "विरूपण साक्ष्य" बनाम "आर्टिफैक्ट" पर एक दृश्य लिखा है: english.stackexchange.com/questions/37903/…
7ochem

जवाबों:


19

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

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

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

अधिकांश सामान्य कलाकृतियां निम्नलिखित प्रक्रियाओं के परिणाम हैं: कॉन्फ़िगरेशन , प्रीप्रोसेसिंग , संकलन , लिंकिंग , स्वचालित परीक्षण , संग्रह , पैकेजिंग , मीडिया फ़ाइलें निर्माण और प्रसंस्करण , डेटा फ़ाइल जनरेशन , प्रलेखन पार्सिंग , कोड विश्लेषण , क्यूए , आदि।


Git size के बारे में वाक्य पूरी तरह से सटीक नहीं है, git lfs का उपयोग करके आप इस समस्या को कम कर सकते हैं। (सिर्फ एक छोटी सी सटीकता)
तेंसिबाई

दिलचस्प है, कि यहां तक ​​कि मेरी सोच (अनुमान) की भी पुष्टि करता है। 2 चीजें: आपके प्रति-लिंक-लिंक को ठीक करने और अतिरिक्त प्रश्न की आवश्यकता है: क्या आप इस बात से सहमत होंगे कि "आपके परीक्षण डेटा पर नज़र रखना" (आपके द्वारा उपयोग किए गए इनपुट, और आपके द्वारा प्राप्त आउटपुट) को ऐसी कलाकृतियों के रूप में भी माना जा सकता है? और BTW, यह उत्तर मुझे "सॉफ़्टवेयर एस्क्रौ" (यदि आप उस से परिचित हैं) के क्षेत्र में उपयोग किए गए "सत्यापन स्तर" के बारे में याद दिलाता है। मुझे लगता है कि DevOps के लिए विषय के रूप में सॉफ्टवेयर एस्क्रो विषयों पर आश्चर्य होना चाहिए ... शायद @Tensibai उस पर भी टिप्पणी करना चाहें?
Pierre.Vriens

1
आपके परीक्षण डेटा के लिए @ पियरे.वीयरेंस, यह दिन के लिए कठिन है, यदि आपके परीक्षण डेटा एक DB हैं, जो एक विरूपण साक्ष्य फिटिंग नहीं करता है। एस्क्रो के लिए, मेरे पास कोई विचार नहीं है, यदि प्रश्न पर्याप्त रूप से केंद्रित हैं जो मुझे ठीक लगता है।
बजे

@ पियरे.वीयरेंस का मतलब है कि 'टेस्ट डेटा' नाम की सैंपलिंग के लिए बहुत सी चीजें हैं (सैंपल डीबी रिकॉर्ड्स के जरिए साधारण फाइलों से लेकर लाखों फाइलों तक) जो कि बिना संदर्भ के बहुत व्यापक हैं।
तनेसीबाई

@ पियरे.वीयरेंस (और नोटिफिकेशन के लिए सॉरी जिरी) मुझे नहीं लगता कि आपके प्रदाता के साथ अनुबंध संबंधी बातचीत विषय पर है, और आप जो वर्णन करते हैं वह मेरे लिए सिर्फ कानूनी बातचीत है।
तनीसीबाई

7

शब्द "आर्टिफैक्ट" के दो उपयोग हैं और एक स्रोत कोड को एक आर्टिफैक्ट बनाता है जबकि दूसरा बनाता है कि यह आर्टिफैक्ट नहीं है: यह वास्तव में काफी भ्रामक हो सकता है!

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

"आर्टिफैक्ट" एक रेसिपी द्वारा निर्मित कुछ के रूप में - यह अर्थ एक जादुई उपकरण का उत्पादन करने के लिए कुछ गूढ़ नुस्खा का उपयोग करके कीमियागर की लोकप्रिय छवि का उपयोग करता है, जिसे अक्सर आर्टिफैक्ट कहा जाता है। यह स्रोत कोड के बीच अंतर करने के लिए उपयोग किया जाने वाला तकनीकी शब्दजाल है, जो कीमियागर के रूपक में नुस्खा से मेल खाता है, और उस स्रोत कोड से व्युत्पन्न कुछ भी, जो कीमियागर के रूपक में एक कलाकृतियों से मेल खाता है। उदाहरण के लिए, मैंने अभी-अभी अपने plop-fizz प्रोग्राम के लिए artefact उत्पादन को स्वचालित किया है, अब स्रोत tarballs, हस्ताक्षर फाइलें, DEB और RPM पैकेज सभी को केवल एक कमांड में त्वरित किया जा सकता है! यह अर्थ स्रोत कोड को एक आर्टिफैक्ट के रूप में नहीं पहचानता है, क्योंकि इस स्रोत कोड से उत्पन्न होने वाले शब्द को दर्शाने के लिए उपयोग किया जाता है।


3

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

इसमें उत्पाद या अन्य आवश्यक उत्पाद, पुस्तकालय, ऑब्जेक्ट फ़ाइलें, मीडिया फ़ाइल या परीक्षण डेटा जैसी कलाकृतियों को शामिल करना शामिल है।

स्रोत कोड को एक कलाकृति नहीं माना जाता है। जब तक कि यह "द्वारा उपभोग की गई" की परिभाषा से मेल खाता है - हमारे मामले में तीसरे पक्ष के पुस्तकालयों सहित, परीक्षण या अन्य उद्देश्यों के लिए उपयोग किए जाने वाले स्क्रिप्ट कोड (लेकिन स्वयं विकास संस्करण नहीं)।


हम्म, दिलचस्प, आप पुष्टि कर रहे हैं कि मैं क्या अनुमान लगा रहा था। क्या आप इस बात से सहमत होंगे कि यह वास्तव में मायने नहीं रखता कि हम किस प्लेटफार्म या ओएस के बारे में बात कर रहे हैं। उदाहरण के लिए, यहां तक ​​कि मेनफ्रेम के लिए एक "हो सकता है" इस शब्दावली का भी उपयोग करें ... यदि हां, तो क्या आप अपने उत्तर में इसके बारे में कुछ भी शामिल कर सकते हैं?
Pierre.Vriens

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

@ पियरे ने पुष्टि की कि कौन सा ओएस एक कलाकृतियों के लिए रूढ़िवादी है, मुझे यकीन नहीं है कि क्यों इसे उत्तर में शामिल किया जाना चाहिए बहुत सारी अन्य चीजें अप्रासंगिक हैं।
आरएसएफ

0

संस्कृति पक्ष पर ध्यान दें। जबकि DevOps में हम "विरूपण साक्ष्य भंडार" की अवधारणा को एक दिए गए स्थिति के रूप में मानते हैं, ऐसा लगता है कि संगठनात्मक प्रक्रिया के लिए इतना जुड़ाव नहीं है।

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

आगे पढ़े: https://en.wikipedia.org/wiki/Definitive_Media_Library


1
नमस्ते। साइट पर आपका स्वागत है। कृपया उत्तर में अधिक जानकारी जोड़ें। में यह वर्तमान स्थिति है, यह कड़ी केवल है, और ध्वजांकित किया जाएगा :)
Dawny33

अगर DevOps संस्कृति के बारे में भी है, तो मुझे लगता है कि आईटीआईएल के लिए एक लिंक महत्वपूर्ण है क्योंकि कभी-कभी यह उच्च संगठनात्मक स्तर पर आईटी संगठन पर शासन करता है। अज्ञानता के इस समरूपता को स्पष्ट करने के लिए और अधिक स्पष्टीकरण जोड़ा गया।
पीटर

1
मुझे नहीं लगता कि यह वास्तव में इस सवाल का समाधान है कि क्या एक कला है, लेकिन कम से कम यह अब जवाब देने के लिए एक ईमानदार प्रयास की तरह दिखता है।
तेनसीबाई

मैं @Tensibai (अब) से सहमत हूं, और अपनी पूर्व टिप्पणी (अब संदिग्ध नहीं) को हटा दिया। और भले ही इस जवाब में सब कुछ समझ में आता है, मुझे अभी भी यह नहीं मिला है कि यह "साइड नोट" -मेरे प्रश्न को कैसे संबोधित करता है, जिसे मैंने अपने प्रश्न के शीर्षक में भी संक्षेप में बताने की कोशिश की थी, अर्थात " क्या एक विरूपण साक्ष्य है (या कलाकृतियों) )? ”। मैं नए प्रयासों का स्वागत करता हूं, ठीक है?
Pierre.Vriens
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.