2011-10-18 32 views
5

मेरा प्रश्न: मैं एक दूरस्थ सिस्टम पर TFS 2010 बिल्ड टेम्पलेट से एक परिनियोजन स्क्रिप्ट कैसे चला सकता हूं जिसमें केवल एक एमएसटीएस्ट एजेंट चल रहा है?एमएसटीएस्ट एजेंट का उपयोग कर रिमोट सिस्टम पर टीएफएस बिल्ड वर्कफ़्लो से रन तैनाती स्क्रिप्ट केवल

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

मेरे पास लैब प्रबंधन उपलब्ध नहीं है, केवल एक भौतिक सर्वर है। मैं केवल अतिरिक्त बिल्डिंग एजेंट के साथ भौतिक सर्वर को केवल तैनाती करने के लिए खराब नहीं करूंगा। एमएसटीएस्ट एजेंट स्पष्ट रूप से तैनाती स्क्रिप्ट चलाने में सक्षम है, लेकिन मैं टीएफएस बिल्ड वर्कफ़्लो से उस कार्यक्षमता का उपयोग कैसे करूं। उदाहरण के लिए, क्या मैं लैब प्रबंधन के बिना रन डिप्लॉयमेंटस्क्रिप्ट गतिविधि का उपयोग कर सकता हूं?

उत्तर

5

PSExec दूरस्थ कंप्यूटर पर स्क्रिप्ट चलाने के लिए एक शानदार टूल है। मैं इसे Team Deploy में उपयोग करता हूं जो आपको टीम बिल्ड से दूरस्थ कंप्यूटर पर एमएसआई स्थापित करने की अनुमति देता है। आप रिमोट कंप्यूटर पर पावरशेल भी चला सकते हैं लेकिन यह सेट अप करने के लिए थोड़ा और जटिल है। एक और विकल्प MSDeploy का उपयोग करना है। एक कमांड विकल्प है कि आप रिमोट कंप्यूटर पर कोई भी कमांड चला सकते हैं। मैं आमतौर पर बिल्ड सर्वर पर PowerShell स्क्रिप्ट को कॉल करने के लिए एक InvokeProcess गतिविधि का उपयोग करता हूं। PowerShell स्क्रिप्ट से मैंने एक लक्षित सर्वर पर रिमोट पावरशेल स्क्रिप्ट चलाने के लिए MSDeploy कहा है। यह बुरा लगता है लेकिन अच्छा काम किया।

आप लक्ष्य मशीन पर RunDeploymentScript चला नहीं सकते हैं। आप एक भौतिक वातावरण में तैनात करने के लिए एक संशोधित टेम्पलेट का उपयोग कर सकते हैं। Here is a good post on doing this.। मैंने ऊपर दिए गए विकल्पों को किसी भी एजेंट की आवश्यकता नहीं है। आप प्रोजेक्ट संग्रह (टेस्ट मैनेजर) में पंजीकृत टेस्ट कंट्रोलर के साथ टेस्ट एजेंट के साथ एमटीएम टेस्ट चलाने के लिए लैब प्रबंधन के बिना ExecuteRemoteTestRun प्रयोगशाला प्रबंधन गतिविधि का उपयोग कर सकते हैं।

मुझे बताएं कि क्या इनमें से किसी भी विकल्प पर आपके कोई प्रश्न हैं।

+0

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

+0

बढ़िया! हां, उन सुविधाओं में से अधिक का लाभ उठाना अच्छा लगेगा। लैब मंगल निर्माण परिभाषा और भौतिक पर्यावरण परिनियोजन संशोधन दोनों बिल्डिंग एजेंट का उपयोग तैनाती स्क्रिप्ट चलाने के लिए करते हैं। टीएफएस 11 में, लैब प्रबंधन तैनाती भौतिक वातावरण का समर्थन करेगी जिसे "मानक वातावरण" कहा जाता है। उन्होंने एजेंट प्रतिष्ठानों को भी सरल बना दिया है और केवल परीक्षण एजेंट की आवश्यकता है। वातावरण में मशीनों के लिए कोई और प्रयोगशाला और निर्माण एजेंट नहीं। अगर आप पीएसईएक्सईसी के साथ किसी भी चुनौतियां में भाग लेते हैं तो मुझे बताएं। – MikeDouglasDev