विंडोज पर कैसे विकसित करें और लिनक्स पर परीक्षण करें और चलाएं?


12

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

ऐसे वातावरण को ठीक से व्यवस्थित कैसे करें ताकि आप परियोजना और कोड को स्थानांतरित करने पर अपना बहुमूल्य समय न खो सकें ताकि आप इसका परीक्षण कर सकें?

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

जाहिर है मुझे इसमें बहुत अधिक अनुभव नहीं है, इसलिए मैं पूछ रहा हूं कि इस प्रकार की समस्याओं के बारे में सबसे अच्छे तरीके क्या हैं?

जवाबों:


14

लिनक्स बॉक्स पर फ़ोल्डर माउंट करें। इस तरह आप सीधे कोड के साथ बातचीत कर सकते हैं। एक आकर्षण काम करता है!


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

3
बस फ़ाइल सिस्टम में अंतर से सावधान रहें। Windows केस-संवेदी फ़ाइलनामों का समर्थन नहीं करता (जहाँ "फ़ाइल नाम" और "FILENAME" दो अलग-अलग फ़ाइलें हैं), फ़ाइल नाम (यानी "/") या सॉफ्ट लिंक के रूप में कुछ वर्ण।
बिट्सफ्लॉजिक

सहमत, यह लागू करने के लिए सबसे उपयोगी और आसान विकल्प है। एक वीएम को कॉन्फ़िगर करना जिस तरह से मैं चाहता हूं कि उसे बहुत अधिक समय की आवश्यकता होगी।
c0ldcrow 20

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

10

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

विशिष्ट उत्पादों पर कुछ सिफारिशों के लिए, आप StackOverflow पर एक प्रश्न के लिए मेरा जवाब देख सकते हैं , लेकिन सामान्य तौर पर, इसका मतलब यह है कि आपके पास एक दूसरा लिनक्स पीसी होगा जो आपके वर्तमान के अंदर चल रहा है। मैं हर समय विंडोज पर PHP के विकास के लिए इसका उपयोग करता हूं और यह मेरे लिए वास्तव में अच्छी तरह से काम करता है। आप अपने कोडबेस को SSH / ExpanDrive के साथ साझा कर सकते हैं या यदि आप वर्चुअलबॉक्स का उपयोग कर रहे हैं तो साझा किए गए फ़ोल्डर्स की जाँच करें ।


7

सुझाव 1: लिनक्स में सीधे काम करें, अगर आपके पास इसे सीखने का समय है। एक और ऑपरेटिंग सिस्टम कैसे काम करता है यह सीखना आपके व्यक्तिगत अनुभव के लिए वास्तव में बहुत अच्छा है, और आपके सीवी में यह जोड़ना कि आप जानते हैं कि लिनक्स का उपयोग कैसे चोट नहीं पहुंचाता है। इसके अलावा, लिनक्स में एक्लिप्स मौजूद है, इसलिए आप विंडोज बनाम कुछ भी नहीं खोते हैं।

सुझाव 2: स्थानीय रूप से वर्चुअल मशीन पर लिनक्स स्थापित करें। यह आपको एप्लिकेशन को हर बार दूर के सर्वर पर प्रकाशित किए बिना परीक्षण करने की अनुमति देगा।

नोट: यदि आप Windows के साथ काम करते हैं तो आप संभवतः एक एप्लिकेशन कैसे लिख सकते हैं जो लिनक्स को लक्षित करता है? यह एक दुःस्वप्न है!


यहां तक ​​कि अगर आपके पास परीक्षक हैं, तो आपको अपने काम पर कुछ सीमित परीक्षण करना होगा, भले ही यह सुनिश्चित करने के लिए हो कि यह वास्तव में संकलन / चलाता है। यदि आप एक विंडोज बॉक्स पर विकसित कर रहे हैं, लेकिन आप एक लिनक्स एप्लिकेशन विकसित कर रहे हैं, तो यह थोड़ा कठिन हो जाता है। आप इसे कैसे कर सकते हैं, के नोट पर, सही सेटअप के साथ करना काफी आसान है। मैं अपने खुद के काम में बड़े पैमाने पर वीएम का उपयोग करता हूं (PHP / MySQL एक लिनक्स एंड सर्वर को लक्षित करता है) और यह वास्तव में अच्छी तरह से काम करता है, पूरी तरह से अगर आपके पास काम करने के लिए 2+ मॉनिटर हैं।
मैथ्यू शेर्ले

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

@ मैथ्यू शार्ले: मैं सहमत हूं। मेरा दूसरा नोट निकाल दिया।
आर्सेनी मूरज़ेंको 13

@ c0ldcrow: इसलिए आपके लिए यह एप्लिकेशन विकसित करने के लिए (या केवल परीक्षण करने के लिए, विंडोज़ में कोड लिखते समय) आभासी वातावरण होना कोई समस्या नहीं होनी चाहिए।
आर्सेनी मूरज़ेंको 13

2

यदि आप ग्रहण का उपयोग कर रहे हैं, तो आपके लिए एक आदर्श प्लगइन है: Filesync मैं इसे हर समय उपयोग करता हूं और मुझे यकीन है कि आप इसे पसंद करेंगे।

यहाँ वही है जो मैं सामान्य रूप से करता हूँ जैसा कि मैं आपसे समान परिस्थितियों में काम कर रहा हूँ।

मैं अपनी मशीन में ग्रहण का उपयोग करके एसवीएन से परियोजना की जांच करता हूं। तब मैं अपने स्थानीय प्रोजेक्ट को रिमोट देव में सम्‍मिलित करता हूं। परीक्षण सर्वर को .project और जैसी फाइलों को छोड़कर। मेरा सुझाव है कि आप कनेक्शन को गति देने के लिए अपनी SSH कुंजी को दूरस्थ सर्वर पर रखें।

और वॉयला! अब आप स्थानीय रूप से काम कर सकते हैं और ग्रहण दूरस्थ सर्वर पर आपके द्वारा किए गए परिवर्तनों को स्वचालित रूप से सिंक कर देगा। जब सभी का अच्छी तरह से परीक्षण किया जाता है और वितरित करने के लिए तैयार है, तो आप ग्रहण का उपयोग करके भी प्रतिबद्ध कर सकते हैं! पोटीन के लिए कोई ज़रूरत नहीं है!

आशा करता हूँ की ये काम करेगा!


0

मैं विजुअल स्टूडियो में c # / मोनो कोड लिखने में कामयाब रहा, और एक GDB रिमोट डीबगर प्लगइन का उपयोग करके VS के भीतर से लिनक्स बॉक्स पर दूरस्थ रूप से डिबग किया। कमाल का काम किया। अगर आपके लिनक्स स्थापित एक स्थानीय VM (वेब ​​पर उपलब्ध एक अच्छा VMWare Ubuntu उपकरण है) में है, तो मुझे यह तेजी से लगता है, लेकिन मुझे टेस्ला GPU कार्ड के एक सेट की आवश्यकता थी जो मेरे लैपटॉप में स्थापित नहीं थे।

WinGDB के लिए देखें। यह मुक्त नहीं है, लेकिन अविश्वसनीय रूप से अच्छी तरह से काम करता है।

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