7

मुझे वर्तमान में निर्माण करने के लिए CC.Net सेटअप मिला है और यह कमाल है। लेकिन अब मैं सभी तरह से जाना चाहता हूं और इसे तैनाती के लिए भी उपयोग करना चाहता हूं। मैं स्टेजिंग पर CC.Net स्थापित करने के बारे में सोच रहा था और एक बिल्ड पूरा होने के बाद और यह ऑटोप्लोडेड फोर्सबिल्ड ट्रिगर को स्टेजिंग करने के लिए आग लगा देता है और इसे एमएसबिल्ड और जीएसी के लिए आवश्यक एक्सटेंशन का उपयोग करता है, सेवाओं ect इंस्टॉल करें। स्थापित करने के लिए।क्रूज़ कंट्रोल का उपयोग कर नेट परिनियोजन .NET

मैंने msdeploy भी देखा है जो समान लक्ष्यों के समान प्रतीत होता है। आप मेरी योजना के बारे में क्या सोचते हैं और आप सभी स्वचालित तैनाती कैसे कर रहे हैं?

नोट्स

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

    • यह मामला हो सकता है कि यह पोर्ट तर्क बंक है। मैंने पहले सांबा शेयरों को स्थापित किया है लेकिन मैंने कभी सक्रिय निर्देशिका के साथ काम नहीं किया है इसलिए मैंने बंद कर दिया और सुना।
  • केवल एफ़टीपी, आरडीपी और HTTP खोल रहे हैं

उत्तर

6

रिचर्ड, हम मचान या उत्पादन सर्वर के पास कहीं भी CruiseControl डाल करने के लिए नहीं चाहता था।

लैन (यानी आंतरिक उत्पादन सर्वर) के लिए हमने मैन्युअल रूप से उत्पादन तैनाती सीसी कार्यों को ट्रिगर किया है जो आईआईएस (साइट्स और ऐप-पूल) को रोकता है, नई साइट को कॉपी करता है और आईआईएस सामान को पुनरारंभ करता है।

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

मैं GAC बारे में निश्चित नहीं हूँ, लेकिन आईआईएस

' Connect to the WMI WebAdministration namespace. 
Set oWebAdmin = GetObject("winmgmts:\\devserver.local\root\WebAdministration") 
' Specify the application pool. 
Set oAppPool = oWebAdmin.Get("ApplicationPool.Name='ProjectName'") 
' Stop the application pool. 
oAppPool.Stop 
' now website; get the application website 
Set objWebSite = GetObject("IIS://localhost/W3SVC/7") ' id of web site 
' get the app pool object for the websites app pool id 
Set objAppPool = GetObject("IIS://localhost/W3SVC/AppPools/ProjectName") 
'stop the site 
objWebSite.Stop() 
' stop the app pool 
objAppPool.Stop() 

सेवाओं NAnt

<property name="Remote.Executor" value="${ToolsDir}\PSTools\psexec.exe" overwrite="false" /> 
    <!-- installs a particular windows service remotely from the command line --> 
    <target name="installWindowsServiceRemote"> 
    <echo message="${Service.Install.Action}ing ${Service.Name} on ${Deploy.TargetServer}..." /> 
    <exec program="${Remote.Executor}"> 
     <arg line="\\${Deploy.TargetServer} ${Deploy.TargetFolder}\${Service.Name} /${Service.Install.Action}" /> 
    </exec> 
    </target> 

के माध्यम से हम psexec.exe का उपयोग के लिए वैसे भी वहाँ शायद तरीके इस दृष्टिकोण के दर्जनों है .vbs फ़ाइलों के माध्यम से चलाया लगता है - आंतरिक रूप से स्वचालित/बाहरी-मैनुअल-चरण-आवश्यक सेटअप हमारे लिए काम करता है।

+0

+1। स्वचालित अपलोड के विचार के लिए –

+0

+1, लेकिन डीएमजेड बॉक्स में शारीरिक रूप से लॉग इन करने का मैन्युअल 'अंतिम चरण'। – CodingWithSpike

1

मैं क्रेग के साथ सहमत हूं, आप अपने मंच सर्वर पर CC.NET नहीं चाहते हैं। हम बिल्ड सर्वर से सबकुछ करते हैं और देव को पुशआउट करते हैं। और मंच। एमएसबिल्ड का उपयोग करके हमारे पास प्रत्येक संकलन के लिए लक्ष्य निर्धारित किए गए हैं, और किसी भी और सभी हिस्सों को दोनों सर्वरों या सर्वर के संयोजनों के आधार पर जो पर्यावरण पर निर्भर करता है। तो बिल्ड सर्वर पर CC.net पर प्रत्येक प्रोजेक्ट MSBuild के साथ-साथ सभी निरंतर निर्माणों के लक्ष्य या ट्रैगेट से मेल खाता है। स्टेजिंग सर्वर पर cc.net नहीं होने के लिए

+0

आप निम्न को सही करना चाहते हैं ... "आप अपने निर्माण सर्वर पर CC.NET नहीं चाहते हैं।" – Ryu

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

  • कोई संबंधित समस्या नहीं^_^