2008-09-22 13 views
8

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

उन सबवर्सन रिपॉजिटरीज़ को हमारे स्थानीय आईआईएस में प्रकाशित करने का एक आसान तरीका क्या है?

संपादित करें:
puetzk के लिए धन्यवाद मुझे लगता है कि एक प्रतिबद्ध होता है हर बार (जाँच हुक के बारे में subversion documentation) निष्पादित हो जाता है एक सरल बल्ले फ़ाइल जोड़ा। मेरी बैट फ़ाइल में केवल शामिल हैं:

echo off 
setlocal 

:: Localize the working copy where IIS points) 
pushd E:\wwwroot\yourapp\trunk 
:: Update your working copy 
svn update 

endlocal 
exit 

उत्तर

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

  2. यदि आप इसे वास्तव में स्वचालित (जैसे ही कोई काम करता है) अपडेट करना चाहते हैं, तो पहले प्रक्रिया को बंद करने के लिए एसवीएन सर्वर पर पोस्ट-प्रतिबद्ध हुक स्क्रिप्ट का उपयोग करें।

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

+0

यह ठीक काम करेगा। मैं इसे एक कदम आगे ले सकता हूं और आपके लिए यह काम करने के लिए एक नेंट स्क्रिप्ट बना सकता हूं, संभवतः चेकआउट के बजाय एसवीएन निर्यात कर रहा हूं। – JKueck

+0

मैं परियोजना के हिस्से के रूप में नंत स्क्रिप्ट को संग्रहित करने का प्रशंसक हूं। Http://www.dimecasts.net/Casts/ByTag/NAnt देखें। – JKueck

+0

@puetzk: बहुत मदद के लिए बहुत बहुत धन्यवाद! – jdecuyper

6

एसवीएन आईआईएस का समर्थन नहीं करता है; हालांकि आप run the standalone svnserve server as a windows service कर सकते हैं।

इसके बारे में SVN FAQ entry है, और Vertigo Software blog पर यह ब्लॉग पोस्ट भी सहायक हो सकता है।

अद्यतन: अपने स्पष्टीकरण के बाद, मुझे लगता है कि क्या आप के लिए देख रहे हैं स्वचालित रूप से सर्वर के बाद उस में जाँच की है पर कोड अपडेट करने का एक तरीका है CruiseControl.NET में देखो, subversion integration tutorial ऐसा लगता है कि यह करना चाहिए देखने के बाद। आपको क्या चाहिए।

अद्यतन 2: यह ट्यूटोरियल integrating Subversion, CruiseControl.NET and Nant का वर्णन करता है।

+0

जब तक मैं नहीं समझ पाते, @jdecuyper एक तरह से अपने भंडार, नहीं यह की मेजबानी के लिए एक तरह से की सामग्री को प्रकाशित करने के लिए की तलाश में है। – puetzk

+0

@puetzk सही है। मैंने अधिक स्पष्टता के लिए अपना प्रश्न संपादित किया। – jdecuyper

+0

आह, मुझे लगता है कि मैंने गलत समझा। उस मामले में @ पुएट्ज़ का जवाब बिल्कुल सही है। आप इसके लिए निरंतर एकीकरण टूलकिट का भी उपयोग कर सकते हैं; मैं इसे अपनी प्रतिक्रिया में जोड़ रहा हूं। – Aeon

1

उपयोग अपाचे फ्रंट एंड के साथ सबवर्जन को जल्दी से स्थापित करने के लिए Visual-SVN Server का उपयोग कर सकते हैं। सर्वर और रिपॉजिटरीज के प्रबंधन के लिए इसमें एक अच्छा एमएमसी स्नैप-इन भी है।

आप HTTP या HTTPS के साथ उपवर्तन तक पहुंचने में सक्षम होंगे, लेकिन पोर्ट नंबर आपके स्थानीय आईआईएस उपयोग से अलग होना चाहिए (विजुअल-एसवीएन सर्वर के लिए डिफ़ॉल्ट पोर्ट 8080 है)।

यदि आपको वास्तव में अपने स्थानीय आईआईएस पोर्ट 80 का उपयोग करके रिपॉजिटरीज तक पहुंचने की आवश्यकता है, तो आप SVN-IIS को आजमा सकते हैं जो आपके आईआईएस और अपाचे के बीच एक पुल के रूप में कार्य करता है। हालांकि मैंने खुद को यह कोशिश नहीं की है।

+0

हम वास्तव में दृश्य-SVN सर्वर (जो वैसे महान है) का उपयोग कर रहे हैं और हमारे फ़ाइलें गर्त HTTP (पोर्ट 8443) का उपयोग कर सकते हैं। लेकिन एएसपीएक्स फाइलें नहीं दी जाती हैं (केवल सादा पाठ में प्रदर्शित होती हैं) और हमें उन्हें संसाधित करने की आवश्यकता होती है। – jdecuyper

2

शायद SVNIsapi समस्या (http://www.svnisapi.com) हल कर सकते हैं। क्योंकि यह केवल आईआईएस स्थापना का उपयोग करता है, इसलिए आपको एपैच सर्वर या एसवीएनएसईआरईआर सेवा की आवश्यकता नहीं है। दूसरी बात यह SVNISAPI के प्रसंस्करण पर ASP.NET ISAPI प्लगइन ढेर है, ताकि एक ASP.NET (.aspx) पेज व्याख्या के बाद रिपोजिटरी से पढ़ा जाएगा संभव हो जाना चाहिए।

चीयर्स पाओलो

+0

http://www.svnforum.org/2017/viewtopic.php?p=27697&sid=2faf39599084cfedb7b3f8d83cc515ce पाओलो - यह मंच लोग कहते हैं कि svnisapi.com ने विंडोज साइट पर किसी अन्य एसवीएन से सामग्री हटा दी है (http: //www.sublimesvn। कॉम)। आप उस टिप्पणी का खंडन करना और कंपनी के साथ अपने रिश्ते को स्पष्ट करना चाहते हैं। कृपया ध्यान दें कि मैं इन उत्पादों में से किसी से भी संबद्ध नहीं हूं, बस अपने स्वयं के एसवीएन स्थापना के लिए संभावनाओं की खोज कर रहा हूं। –

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

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