2009-03-21 8 views
5

मैंने Msbuild Extension Pack और MsBuild Community Tasks जैसी परियोजनाओं को देखा है जो असेंबली, एसक्यूएल और सेटअप आईआईएस स्थापित करने की शक्ति को एमएसबिल्ड देते हैं। ये सुविधाएं इंस्टॉल करने और निर्माण करने के लिए उन्मुख नहीं लगती हैं।इंस्टॉल करने के लिए एमएसबिल्ड का उपयोग कर बाहर कोई भी?

तो मैं सोच रहा था कि वहां कितने लोग एमएसबिल्ड का उपयोग कर रहे हैं, शायद क्रूज़ कंट्रोल.Net के संयोजन के साथ स्टेजिंग वातावरण पर स्थापित करने के लिए?

उत्तर

1

हम सीसी.NET & एमएसबिल्ड का निर्माण करने के लिए और फिर हमारे देव और मंच वातावरण को प्रकाशित करने के लिए भी उपयोग करते हैं, हालांकि हमारे पास क्रूज़ कंट्रोल.NET पर धक्का नहीं है, हम हाथ से एमएसबिल्ड चलाते हैं। हमने सोचा कि यह लाइव प्रकाशित करने के लिए एक बटन के साथ लुभाने का तरीका होगा;) हमारे एमएसबिल्ड को सही तरीके से स्थापित करने के लिए शायद 2 या 3 संशोधन हुए। लेकिन अब सब कुछ एक फाइल में है, और सब कुछ काम करने के लिए लक्ष्य और गुणों पर आधारित है। लगभग 6 महीने पहले, आखिरी अपडेट क्या होना चाहिए और यह एक बहु-सर्वर पुश था इसलिए हम स्केलिंग के लिए तैयार हैं। अब हम भागों के किसी भी संयोजन को सर्वर के किसी भी संयोजन में धक्का दे सकते हैं। तो अगर हम 5 डेटाबेस सर्वर, 3 contenet सर्वर, और 2 वेब सर्वर चाहते हैं तो हमारे पास यह क्षमता है। किसी और चीज का उपयोग करने की आवश्यकता नहीं है। एमएसबिल्ड इसे कर सकता है।

+0

क्या आप अपने स्टेजिंग वातावरण पर CC.Net चला रहे हैं? – Ryu

+0

इस पर नहीं, लेकिन यह एमएसबिल्ड का उपयोग कर मंच पर्यावरण को प्रकाशित करता है। – Alex

+0

क्या आप अभी एक वेबसाइट प्रकाशित कर रहे हैं, या आपको अपने पास gac इंस्टॉल करने या कुछ और करने की आवश्यकता है? – Ryu

3

मैं एमएसबिल्ड का निर्माण करने के लिए उपयोग करता हूं, और बिल्ड प्रक्रिया का हिस्सा एक इंस्टॉलर (एमएसआई) बनाने के लिए विक्स चलाता है जिसका उपयोग उत्पादन में तैनात करने के लिए किया जाता है।

0

मैं एमएसबिल्ड का उपयोग काफी बड़े ग्राहक/सर्वर अनुप्रयोग बनाने के लिए करता हूं। मैं एक अलग क्लाइंट और सर्वर स्थापित सेट बनाने के लिए InstallShield 2008 का उपयोग करता हूं।

बिल्ड प्रक्रिया में कस्टम लक्ष्य जोड़कर आप इंस्टॉलरों के निर्माण में निर्माण को जोड़ सकते हैं।

मैं अनुशंसा करता हूं कि आप दोनों को एकीकृत करने के प्रयास से पहले निर्माण और इंस्टॉलर को अलग-अलग बनाएं और परीक्षण करें।

- core MSBuild tasks 
- [Tigris MSBuild community tasks][1] 
- [MS SDC tasks][2] 
- and custom tasks 

प्रणाली हमें जटिल क्षुधा की लगातार तैनाती भर में प्रदर्शन करने के लिए अनुमति देता है:

- identify the right target server for a given component (e.g Windows service goes to a given server, web services go to another, etc.) 
- perform a PsExec of a deployment MSBuild script on the target server 
- the deployment MSBuild script is responsible for: 
    a) downloading the right component package (in my case a .zip) 
    b) backing up previous versions of the component 
    c) extracting the package to the right place 
    d) tailoring the installation steps to the type of component to deploy (e.g. needs to perform an Exec task of installutil.exe on a Windows service) 
    e) logging the result of the deployment 

इस प्रणाली का एक मिश्रण का उपयोग कर बनाया गया है:

1

मैं एक तैनाती प्रणाली जहां एक केंद्रीय समन्वयक कर सकते हैं बनाया वर्चुअल सर्वर से बने विभाजन वाले वातावरण (जैसे DEV, QA, UAT, आदि)।

2

मैं MSBuild के साथ अलग अलग लक्ष्य वातावरण के लिए templating विन्यास का एक छोटा नमूना ऊपर लिखा है: http://blog.privosoft.com/2010/10/msbuild-environment-sandboxing.html

+0

अपना काम साझा करने के लिए धन्यवाद, बहुत से निर्माण स्वामी इसे उपयोगी पाते हैं! – Ryu

0

मैं जानता हूँ कि यह एक पुराने सवाल यह है कि ... लेकिन ...

मैं वर्तमान में MSBuild साथ MSBuild उपयोग कर रहा हूँ एक्सटेंशन पैक (http://msbuildextensionpack.codeplex.com) मेरी पूरी तैनाती करने के लिए। डेटाबेस भाग को वीएस डेटाबेस कमांड लाइन उपकरण (vsdbcmd.exe - http://msdn.microsoft.com/en-us/library/dd193283.aspx) के साथ संभाला जाता है। वह एक्सटेंशन पैक बहुत अद्भुत है, और मुझे वेब साइट्स, एप पूल, विंडोज सेवाएं, अपडेट कॉन्फ़िगरेशन और बहुत कुछ बनाने की अनुमति दे रहा है।

मैंने टीम सिटी एजेंटों को टेस्ट सर्वर पर भी रखा है, इसलिए मैं बिल्ड श्रृंखला के हिस्से के रूप में तैनात कर सकता हूं (टीम सिटी के संस्करण 7 में पेश किया गया)। और एमएसबिल्ड स्क्रिप्ट को तैनात करना मेरे लिए टीम सिटी से बहुत आसान है।

0

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

पिछले वर्ष में, मैंने कुछ पावरशेल मॉड्यूल बनाया है जिसे एमएसबिल्ड एक्सटेंशन पैक के बराबर कुछ हद तक Carbon कहा जाता है।

मैं दृढ़ता से दृढ़ता से, PowerShell सीखने और उपयोग करने के लिए हर किसी को प्रोत्साहित करता हूं।

संबंधित मुद्दे