2013-03-08 8 views
7

मैं निम्नलिखित प्रश्न है। हमारी कंपनी एक जावा कंपनी है, जिसका अर्थ है कि सभी विकास में किया गया है: निर्माण प्रक्रिया के लिए जावा/मेवेन/टीम सिटी।Node.js और TeamCity

चूंकि कंपनी पहले से ही टीमसिटी का उपयोग कर रही है, इसलिए हम इसे वेब निर्माण के लिए भी उपयोग करना चाहते हैं, हम अपनी बिल्ड प्रक्रिया में नोड.जेएस और ग्रंटजेस पेश करने की कोशिश कर रहे हैं। मैं सोच रहा था कि क्या किसी को TeamCity में धावक की तरह Node.js सेटिंग/कॉन्फ़िगरेशन का अनुभव है?

अंत में हम एक बदलाव "प्रतिबद्ध" करना चाहते हैं और फिर एक बिल्ड, यह बिल्ड Node.js धावक के साथ किया जाएगा। मुझे TeamCity के लिए निम्नलिखित plugin मिला।

किसी भी मदद

उत्तर

4

मैं GruntJS और वेब प्रोजेक्ट है जो इस तरह के रूप में एपीआई, उपयोगकर्ता और व्यवस्थापक पोर्टल, और यूनिट/लबादा/एकता टेस्ट साइटों की जोड़ी शामिल में TeamCity उपयोग कर रहा हूँ की सराहना की जाएगी। दो प्रोटोटाइप के बाद मैं आखिरकार परियोजना के प्रत्येक भाग को अलग-अलग बनाने के लिए एक ग्रांटजेएस फ़ाइल के भीतर सभी तर्क डालने का फैसला करता हूं।

ऐसा करने के लिए, मैंने केवल तैनाती के लिए स्रोत भंडार में एक नई परियोजना को जोड़ा। उस परियोजना के भीतर मेरे पास मेरा बेस Gruntfile.js है जो परियोजना के प्रत्येक भाग के लिए सब-ग्रंट बिल्ड प्रक्रियाओं के लिए केवल प्रवेश बिंदु है। मैं निर्माण के लिए अपना लक्ष्य चुनने के लिए ग्रंट-सीएलआई द्वारा आधार पर पैरामीटर पास कर सकता हूं, जैसे: grunt --target = api (नोट: मैं संस्करण/संशोधन और अन्य सामान भी पास करता हूं लेकिन सादगी के लिए मैं गहराई में नहीं जाता यह उत्तर)

फिर मैंने एक खोल स्क्रिप्ट बनाई जो अनुक्रम में सभी संभावित मानकों के साथ गड़बड़ी चलाती है। और अंत में केवल उस शेल स्क्रिप्ट को चलाने के लिए TeamCity में बिल्ड कॉन्फ़िगरेशन में एक चरण बनाया!

  1. बेहतर रख-रखाव के लिए स्रोत नियंत्रण के भीतर सभी तैनाती तर्क रखो:

    इस तरह से ऐसा करने से मैं इस तरह के रूप लाभ के बहुत सारे प्राप्त करें।

  2. प्रत्येक डेवलपर के पास इसका उपयोग होता है और स्थानीय मशीन
  3. टीमसिटी एकीकरण इतना आसान हो जाता है और आप इसे आसानी से अन्य सीआई प्लेटफॉर्म पर ले जा सकते हैं!

यदि आप अलग-अलग रिपोजिटरी पर प्रत्येक प्रोजेक्ट रखना चाहते हैं, तो आप बेस ग्रंटजेएस के साथ एक परिनियोजन भंडार सेट कर सकते हैं और अन्य भंडारों में सबोड्यूल्यूल बना सकते हैं।