सवाल स्वचालन स्क्रिप्ट के लिए रेक बनाम थोर?


मैं चीजों को स्वचालित करना चाहता हूं जैसे:

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

जो मैं समझता हूं, उसके लिए उपकरण रेक और थोर हैं, हालांकि, मुझे किस का उपयोग करना चाहिए?

रेक मुझे और अधिक वास्तविक और लोकप्रिय लगता है। मैंने थोर की सिफारिश करने वाले लोगों को सुना है।

यह एक दूसरे के साथ एक दूसरे के लिए कैसे खड़े हो जाते हैं?


44
2017-08-19 17:08


मूल


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


जवाब:


रेक और थोर विभिन्न उद्देश्यों की सेवा करते हैं।

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

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

आपकी निर्दिष्ट आवश्यकताओं के आधार पर, आप थोर का उपयोग करना बेहतर कर रहे हैं क्योंकि आप अपनी स्क्रिप्ट को एक ही स्थान पर इंस्टॉल करने में सक्षम होंगे और यह आपके सिस्टम पर कहीं भी काम करेगा। आप इस बात से बंधे नहीं होंगे कि रेक फ़ाइल बैठी है या ऐसा कुछ भी है।

वैसे, रेल 3 प्रोजेक्ट विशिष्ट नहीं है जो बहुत अधिक सब कुछ के लिए थोर का उपयोग करता है। आपके पास अभी भी एक रेक फ़ाइल है और आप अभी भी "rake db:migrate"या"rake test:units"थोर का उपयोग चीजों के लिए किया जाता है जैसे"rails new ...","rails server" तथा "rails generate ..."रेल 3 में थोर एंड रेक का उपयोग यह सही उदाहरण है कि इनमें से प्रत्येक उपकरण सबसे उपयुक्त है।


97
2017-08-20 14:22



उत्कृष्ट स्पष्टीकरण! मेरी इच्छा है कि यह कुछ ब्लॉग पर या थोर के मुखपृष्ठ पर =) क्या "रेल" कमांड स्क्रिप्ट कमांड है या क्या यह किसी भी तरह थोर का उपयोग करता है? - never_had_a_name
धन्यवाद। :) "रेल" कमांड एक थोर स्क्रिप्ट है - Derick Bailey
यह एक अच्छा जवाब है, लेकिन @ टॉम कॉर्बिन का जवाब कुछ तरीकों से बेहतर है। चुना गया उत्तर थोर बनाम रेक के उपयोग का सबसे अच्छा eval है - लेकिन हकीकत में, ओपी को कॉन्फ़िगरेशन मैनेजर का उपयोग शेफ जैसे अधिकांश * करने के लिए करना चाहिए। (* बाकी के लिए, थोर रेक से बेहतर है।) - New Alexandria
ummmmm, यह थोर का वर्णन है "एक स्क्रिप्टिंग फ्रेमवर्क जो रेक और फायदे को बदलता है"। तो थोर रेक के लिए एक प्रतिस्थापन है लेकिन वास्तव में नहीं? - Mike
मुझे नहीं लगता rake केवल परियोजना विशिष्ट है, आप परिभाषित कर सकते हैं वैश्विक रेक कार्य :) - mbigras


उबंटू chores की स्थापना के लिए, शेफ एक बेहतर विकल्प हो सकता है।

अपनी वेबसाइट से:

शेफ एक ओपन सोर्स सिस्टम एकीकरण ढांचा है, जो आपके संपूर्ण आधारभूत संरचना में सर्वर कॉन्फ़िगरेशन प्रबंधन के लाभ लाने के लिए बनाया गया है।

यह रूबी में लिखा गया है और शेफ रेसिपी / कुकबुक के बहुत सारे हैं। शेफ उबंटू की स्थापना और पैकेज, सर्वर इत्यादि स्थापित करने में संभाल लेंगे।

मुझे नहीं पता कि आप वर्चुअल मशीनों के साथ काम कर रहे हैं, लेकिन वाग्रेंट वर्चुअल मशीन स्थापित करेगा और फिर इसे कॉन्फ़िगर करने के लिए शेफ का उपयोग करेगा।


13
2018-04-14 15:29



मुझे पता है कि यह जवाब पुराना है लेकिन अब यहां आने वाला कोई भी डॉकर को देखना चाहता है! - bkunzi01
इटामा (एक हल्का महाराज; github.com/itamae-kitchen/itamae ) + डॉकर पसंद में से एक है। मैं इस तरह की आभासी मशीन + प्रावधान की स्थिति के लिए इस पर खुश हूं (भले ही इटामा + डॉकर में कुछ परेशानी हो, इटामा एसएस + डॉकर एसएसडीडी एक कामकाज है) - Fumisky Wells


मैं साथ जाऊंगा कठपुतली

वैसे, शायद आवारा आपके लिए उपयोगी है?


0
2017-09-04 11:46





यहां उल्लेख करने के लिए कुछ महत्वपूर्ण है।

http://guides.rubyonrails.org/generators.html अपने खंड 8 आवेदन टेम्पलेट्स में।

आप गिट कमांड निष्पादित कर सकते हैं, रत्न का चयन कर सकते हैं, परियोजना को कॉपी कर सकते हैं।

और आप अपने अंतिम बिंदु को पूरा करने के लिए सिस्टम कमांड निष्पादित भी कर सकते हैं: Upgrade Ubuntu, install all basic packages through apt-get


0
2017-09-07 22:56