2011-06-30 29 views
5

मैं शुरुआती DVCS में (मैं एसवीएन दुनिया से हूं) और अब जब मैंने अपना खुद का स्थानीय रेपो महारत हासिल किया है, तो मैं अपनी वेब फाइलों को पकड़ने के लिए एक दूरस्थ कंप्यूटर (अमेज़ॅन ईसी 2) स्थापित करना चाहता हूं ताकि मैं कर सकूंएचजी/गिट रिमोट रेपो कैसे बनाएं?

hg push http://hg.domain.com/webserver/hello 

या git

git push myAmazon master 

मुझे अपने दूरस्थ सर्वर में कॉन्फ़िगर करने के लिए है: आसानी से या FTP के बिना वेब अनुप्रयोग कुछ sorta बातें

मैं का उपयोग कर खत्म करना चाहते हैं अद्यतन (एचजी/गिट स्थापित करना) init का उपयोग करके एक फ़ोल्डर को रेपो बनाते हैं और अगला क्या होना चाहिए?


शायद मैं इस सवाल का जवाब ऊपर के साथ 100% स्पष्ट नहीं था, इसलिए यहाँ एक सरल प्रश्न

मैं Git/एचजी का उपयोग करके एफ़टीपी अपलोड बदलना चाहते हैpush, मैं इसे कैसे पूरा कर सकता हूं?

C:\Inetpub\wwwroot\mybrandNewWebAppजड़ एक साइट आईआईएस में होस्ट की है (यह एक दूरस्थ कंप्यूटर, उदाहरण है:: अमेज़न EC2 में)

तो चलिए इस परिदृश्य की कल्पना करते हैं, इस निर्देशिका में मैं शुरू एक भंडार git init/hg init का उपयोग कर भंडार।

मैं इस रिपॉजिटरी को कैसे कॉन्फ़िगर कर सकता हूं कि अपने लैपटॉप से ​​मैं push remote "मेरे परिवर्तन अपलोड करने" के लिए कर सकता हूं?

मैं इस भंडार को पुनः पहुंचने योग्य और धक्का देने के लिए कैसे कॉन्फ़िगर कर सकता हूं?


सभी टिप्पणियां पढ़ने से प्रश्न?

क्या मुझे रेपो होने और एक अच्छा धक्का देने के लिए अन्य निर्देशिका बनाना चाहिए, मैं एक स्क्रिप्ट चला सकता हूं जो वास्तव में वेबसाइट रूट निर्देशिका को अपडेट करेगा?

+0

यानी आप अपनी वेबसाइट को तैनात करने के लिए वीसीएस का उपयोग करना चाहते हैं –

+0

आप किस प्रकार की वेबसाइट तकनीक का उपयोग कर रहे हैं? उदाहरण के लिए, क्या आपको कोड बनाने की ज़रूरत है? क्या आपके पास यूनिट-टेस्ट हैं? –

+0

@Lasse V. Karlsen ** आईआईएस ** का अर्थ है विंडोज सर्वर, मैं आसानी से 'build.exe' चला सकता हूं और कमांड लाइन से यूनिट परीक्षण चला सकता हूं, अगर मुझे ज़रूरत है, तो मुझे बस इतना नहीं मिलता कि सब कुछ मेरे ऊपर कैसे सेट करें रेपो एक रिमोट के रूप में कार्य करें:/ – balexandre

उत्तर

1

Mercurial के लिए आपको hgweb वेब सर्वर स्थापित करना होगा जो कम से कम स्रोत-संस्करण में Mercurial के साथ आता है।

  1. अपने सर्वर
  2. पर आईआईएस सेट करें डाउनलोड मर्क्युरियल स्रोत, और एक ट्यूटोरियल आप की स्थापना आईआईएस आवेदन में उपलब्ध बनाने के लिए फ़ाइलें, जिस पर का पालन करें:

    कदम (संभवतः गलत क्रम) कर रहे हैं

  3. कॉन्फ़िगर आईआईएस अपने होस्टिंग के लिए अजगर कार्यक्रमों
  4. कॉन्फ़िगर hgweb चलाने के लिए (मर्क्युरियल hgweb एक अजगर cgi स्क्रिप्ट है) की जरूरत है

वेब पर कई ट्यूटोरियल हैं, उनमें से कोई भी इस अर्थ में 100% पूर्ण नहीं है कि यदि आप उन्हें चरण-दर-चरण का पालन करते हैं तो यह सब काम करेगा, लेकिन थोड़ी सी मात्रा के साथ यह काम करेगा।


संपादित:

यहां कुछ है मेरा जवाब आप कैसे एक मर्क्युरियल वेब सर्वर है कि आप करने के लिए धक्का कर सकते हैं स्थापित करने के लिए कहता है। के बाद से अपने लक्ष्य को अपने परिवर्तनों को बाहर धक्का द्वारा वेब सर्वर अद्यतन करने के लिए है, वहाँ अन्य विकल्प हैं:

मैं सेटअप के एक ही प्रकार है, लेकिन क्या मैंने किया है निम्नलिखित है:

  1. मैं एक बनाया होस्टिंग कंपनियों में से एक पर ऑनलाइन खाता (मैं Kiln का उपयोग करता हूं, लेकिन अन्य आसानी से करेंगे)
  2. तब मैंने रिपॉजिटरी में धक्का दिया जब भी मैंने अपने वेब सर्वर को पिंग करने के लिए वहां सेट किया गया भंडार कॉन्फ़िगर किया। असल में, जब मैं धक्का देता हूं, तो भट्ठी सर्वर कुछ जानकारी के साथ अपने स्वयं के सर्वर पर एक सीजीआई-स्क्रिप्ट का आह्वान करेगा
  3. उस सीजीआई-स्क्रिप्ट को जो पिंग किया गया है, फिर स्थानीय क्लोन में सामान्य hg pull -u कमांड निष्पादित करता है, और उसके बाद एक रोबोकॉपी मुख्य वेब साइट फ़ोल्डर में सब कुछ (कुछ डिबग फ़ाइलों को छोड़कर, और .hg निर्देशिका) दर्पण

इसका मतलब है कि:

  1. मैं अपने खुद के खजाने की मेजबानी के लिए की जरूरत नहीं है
  2. मैं करता हूँ अपने खुद के Mercurial/गिट एस की स्थापना की परेशानी से गुजरने की जरूरत नहीं है erver
  3. मैं संभाल करने की जरूरत नहीं है (पढ़ें: के बारे में चिंता) कि स्थापना के सुरक्षा
  4. मैं अभी भी धक्का-टू-अद्यतन-वेबसाइट की कार्यक्षमता
+0

प्रश्न: क्या आपके कदम Mercurial को वेब के रूप में स्थापित और चलाने के लिए हैं? मैं चाहता था कि मैं एक सार्वजनिक वेबसाइट बनाना चाहता हूं जिसे मैं उस सर्वर में एक रिपोजिटरी में होस्ट कर रहा हूं, इसलिए मेरे कंप्यूटर से मैं अपने काम को धक्का दे सकता हूं और वेब एप्लिकेशन अपडेट कर सकता हूं ... जैसे एफ़टीपी, लेकिन एचजी/गिट का उपयोग करना। – balexandre

+0

हां, आपको यह करने के लिए Mercurial वेब सर्वर cgi एप्लिकेशन स्क्रिप्ट स्थापित करने और चलाने की आवश्यकता है (Mercurial के लिए।) मुझे नहीं पता कि आप गिट के लिए क्या करेंगे। –

+0

मैं एक और विकल्प के साथ जवाब संपादित कर दूंगा। –

1

तो सर्वर पर आपके रन ssh, आप अपने एसएसएच-प्रोटोकॉल के साथ Mercurial और गिट का उपयोग कर सकते हैं।

तुम भी सर्वर पर खजाने बना सकते हैं कि जिस तरह से:

hg clone ~/myrepo ssh://[email protected]/hg/clone 
+0

जो पथ हो सकता है, मैं एसएसएच प्रोटोकॉल के बारे में और अधिक पढ़ूंगा और देख सकता हूं कि मैं अपने रिमोट सर्वर में इसे कैसे सक्षम कर सकता हूं। – balexandre

+0

@balexandre: मैंने पहले सिग्विन के साथ विंडोज मशीनों पर एसएसएच (सर्वर, एसएसडीडी) स्थापित किया है, इसलिए यह काम करता है। हालांकि, मुझे नहीं पता कि यह अमेज़ॅन ईसी 2 विंडोज मशीनों के लिए उपयुक्त है (जो कि आप लक्ष्यीकरण कर रहे हैं)। हालांकि यह एक अलग सवाल है। ;) – Macke

0

आप उद्देश्य के लिए दोनों मर्क्युरियल और Git का उपयोग कर सकते हैं। यदि आप अपने कंप्यूटर से कुछ दबाते हैं, तो टूल नए डेटा को रिमोट सर्वर पर कॉपी करेगा।

समस्या यह है कि डेटा रिमोट रिपोजिटरी में बस बैठता है लेकिन आप इसे उस स्थान पर चाहते हैं जहां वेब सर्वर इसे देख सकता है, क्या आप "अपडेट" चरण खो रहे हैं (डेटा को भंडार से कॉपी करें वेब सर्वर की फाइल सिस्टम)।

इसे और अधिक स्पष्ट करने के लिए:

  • commit अपने स्थानीय भंडार में अपने स्थानीय फ़ाइल सिस्टम से डेटा ले जाता है।
  • push खजाने के बीच चलता रहता है डेटा (अनदेखी क्या फाइल सिस्टम में है)
  • update/pull अद्यतन करता है फाइल सिस्टम। आपको इसे अपने वेब सर्वर पर करना है।

मेरा सुझाव एक छोटी सी लिपि लिखना है जो hg update या git pull हर घंटे या उससे भी अधिक समय तक चलाता है। विंडोज़ में एक स्क्रिप्ट के रूप में उस स्क्रिप्ट को स्थापित करें।

+0

मैं अभी भी दिमागी तूफान कर रहा हूं, इसलिए मैं अपने भंडार "पहुंचने योग्य और धक्का देने योग्य" बनाने के लिए क्या कदम उठाने की जांच कर सकता हूं, लेकिन जब मैं कार्यान्वयन बिंदु पर हूं तो यह एक अच्छा विचार है। Thxs। – balexandre

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