बिल्ड स्क्रिप्ट और बिल्ड सर्वर की जिम्मेदारियां


12

मुझे बिल्ड स्क्रिप्ट और बिल्ड सर्वर की जिम्मेदारियों पर कुछ स्पष्टीकरण की आवश्यकता है।

मैंने नेट पर निरंतर एकीकरण और बिल्ड के बारे में कई लेख पढ़े। समेत

और मेरे पास हमारे सॉफ्टवेयर की निर्माण प्रक्रिया के बारे में मेरे सलाहकार के साथ बातचीत हुई। क्योंकि वह बहुत अनुभवी है मुझे उसके बयानों पर भरोसा है, लेकिन मुझे भ्रम की स्थिति में छोड़ दिया गया।

जैसा कि मैं इसे समझता हूं, अपने शोध से (और कृपया मुझे यहां सही करें, क्योंकि यह वही है जिसके बारे में मैं पूछ रहा हूं) आदर्श निम्नानुसार होना चाहिए:

  • हर प्रोजेक्ट की अपनी स्क्रिप्ट होती है
  • यह स्क्रिप्ट प्रोजेक्ट बनाता है
  • यह स्क्रिप्ट सुनिश्चित करती है कि निर्भरताएं पहले से निर्मित हैं

चूंकि निर्भरता अन्य परियोजना हो सकती है, अपनी स्वयं की बिल्ड स्क्रिप्ट के साथ एक पेड़ की तरह पदानुक्रम accrues। एक शीर्ष बिल्ड स्क्रिप्ट हो सकती है जो सभी परियोजनाओं और अनुप्रयोगों का निर्माण करती है।

हालांकि बिल्ड सर्वर की जिम्मेदारियां हैं:

  • भंडार की जाँच करें
  • बिल्ड ट्रिगर करें
  • ट्रिगर परीक्षण और अन्य क्यूए उपकरण
  • कलाकृतियों को उपलब्ध कराएं

यह मैन्युअल रूप से, रात में या जब भी रिपॉजिटरी बदलता है ट्रिगर किया जा सकता है


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

क्या आप कृपया उद्देश्यों को विस्तृत कर सकते हैं, और जिम्मेदारियों को स्पष्ट कर सकते हैं?


4
जितना यह एक अच्छा सवाल है, और इसका उत्तर दिया जाएगा (जब बाद में मेरे पास समय होगा, और इसका जवाब अभी तक नहीं दिया गया है): आपको वास्तव में वापस जाना चाहिए और अपने सलाहकार से स्पष्टीकरण प्राप्त करना चाहिए। किसी ऐसे व्यक्ति के साथ बातचीत करने के बाद भ्रमित होना जो आपके प्रदर्शन का मूल्यांकन करेगा, आपदा के लिए एक नुस्खा है, और एक संकेत है कि वे आपके साथ पर्याप्त रूप से संवाद नहीं कर रहे हैं (या आप सक्रिय रूप से नहीं सुन रहे हैं, लेकिन ऐसा प्रतीत नहीं होता है यहाँ)।
स्टीवन एवर्स

2
@ एंजेलो। मुझे लगता है कि आपने सभी प्रमुख बिंदुओं को मार दिया है। क्या आप विशेष रूप से स्पष्ट कर सकते हैं कि आप किस उलझन में हैं?
एम। डडले

@SteveEvers खैर, जैसा कि इस विषय पर अभी कुछ परिचय पढ़ा है, मैं पहले इस पर अपने ज्ञान का विस्तार करना चाहता था। मैं निश्चित रूप से इस विषय को फिर से उठाऊंगा। इसलिए मैं वास्तव में आपके एक उत्तर की सराहना करूंगा।
एंजेलो। हैन्स

@ M.Dudley जैसा कि मैंने कहा, मुझे यकीन नहीं है कि कौन सी जिम्मेदारियाँ कहाँ जाती हैं। और क्या पूरे सॉफ्टवेयर के लिए एक बिल्ड स्क्रिप्ट जाने का सही तरीका है।
एंजेलो। हेंस

जवाबों:


14

ये बातें रूढ़िवादी हैं:

निर्माण स्क्रिप्ट तंत्र है कि, हाल में जाँच-आउट स्रोत पेड़ पर मंगलाचरण पर, आवश्यक लक्ष्य और निर्भरता का एक पूरा निर्माण पैदावार है। यदि आपके पास मेकफिल, या MSBuild, Ant, Maven या Scons का उपयुक्त मंगलाचरण है, तो यह 'सभी बना सकता है'। यदि आपके पास निर्भरता या संबंधित परियोजनाओं की एक जटिल पदानुक्रम है, तो आपकी 'स्क्रिप्ट का निर्माण' एक शीर्ष-स्तरीय फ़ाइल हो सकती है, जो उनमें से प्रत्येक को बदले में सफलता के लिए जाँचती है।

बिल्ड स्क्रिप्ट संभवतः कई की एक स्क्रिप्ट है - चेकआउट, बिल्ड, टेस्ट, पैकेज - लेकिन आप कमांड लाइन परमेस द्वारा नियंत्रित एक ऑल-इन-वन तंत्र हो सकते हैं - यह आपके पर्यावरण पर निर्भर करता है।

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

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

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