दिलचस्प पोस्ट
जावास्क्रिप्ट ऑब्जेक्ट ब्रैकेट नोटेशन ({नेविगेशन} =) को असाइन करने की बाईं तरफ कैसे पावरशेल्ड का उपयोग कर एक शॉर्टकट बनाने के लिए बहु परत perceptron (एमएलपी) वास्तुकला: छिपी परतों की संख्या और छिपी परत के आकार को चुनने के लिए मानदंड? Unrooted डिवाइस में संपत्ति फ़ोल्डर से डेटाबेस कॉपी करें JAXB मैपिंग चक्रीय एक्सएमएल संदर्भ घटक के लिए COM वर्ग फ़ैक्टरी को पुनर्प्राप्त करना विफल रहा मैं बाद में उपयोग के लिए प्रारूप-तालिका से आउटपुट कैसे स्टोर कर सकता हूं? आउटपुट यूनिकोड को कंसोल करने के लिए, विंडोज में सी ++ का उपयोग करना <बाहर टी> बनाम <T> जेनरिक्स में क्यों LinkedHashSet <ई> HashSet <e> बढ़ाएं और सेट <ई> को लागू करें गिनती नीचे टाइमर के लिए एक परिपत्र प्रगति सूचक कैसे बनाएं CMake + GoogleTest डुप्लीकेट पंक्तियों का इस्तेमाल करके dplyr निकालें फ़ंक्शन को सशर्त रूप से लागू करें मुझे क्या करना चाहिए यदि दो लाइब्रेरी एक समान नाम के साथ एक फ़ंक्शन प्रदान करते हैं जो एक संघर्ष पैदा करता है?

मैं git push (GitHub और node.js) के बाद अपने ऐप को कैसे स्वचालित रूप से तैनात कर सकता हूं?

मेरे पास एक वीपीएस (लिनक्स) पर तैनात मेरा एप्लीकेशन (नोड.जेएस) है। मैं एक रिपॉजिटरी के रूप में git हब का उपयोग कर रहा हूँ मैं git को पुश पर स्वचालित रूप से कैसे आवेदन कर सकता हूं?

वेब के समाधान से एकत्रित समाधान "मैं git push (GitHub और node.js) के बाद अपने ऐप को कैसे स्वचालित रूप से तैनात कर सकता हूं?"

PHP में उदाहरण:

अपने गिथब रिपॉजिटरी में गिथूब पर नेविगेट करें "एडमिन" पर क्लिक करें

'सेवा हुक' पर क्लिक करें टैब => 'वेबहुक यूआरएल'

और जोड़

http://your-domain-name/git_test.php 

फिर git_test.php बनाएँ

 <?php try { $payload = json_decode($_REQUEST['payload']); } catch(Exception $e) { exit(0); } //log the request file_put_contents('logs/github.txt', print_r($payload, TRUE), FILE_APPEND); if ($payload->ref === 'refs/heads/master') { // path to your site deployment script exec('./build.sh'); } 

Build.sh में आपको अपनी साइट को गिटबल से प्राप्त करने के लिए सामान्य आदेशों की आवश्यकता होगी

गिट के हुकों के कुछ ऐसे उत्तर / टिप्पणियों के रूप में उल्लेख किए गए थे, जिन्होंने मेरे लिए अतीत में काम किया है .. तो ये मेरा नुस्खा है कि किसी और को अधिक विशेषताओं की आवश्यकता हो।

मैं जीआईटी के बाद-प्राप्त हुक और नोड-सुपरवाइजर के संयोजन को सरल ऑटो परिनियोजन पूरा करने के लिए (यह मानते हुए कि आप उस मशीन पर एक git दूरस्थ रिपॉजिटरी का उपयोग कर रहे हैं) का उपयोग करते हैं।


अपनी पोस्ट प्राप्त हुक सेटअप करें

आपके रिपॉजिटरी में: sudo vi hooks/post-receive

और यह कुछ ऐसा दिखना चाहिए:

 #!/bin/sh GIT_WORK_TREE=/home/path/to/your/www export GIT_WORK_TREE git checkout -f 

फ़ाइल अनुमति सेट करें: chmod +x hooks/post-receive

रेपो के लिए धक्का के बाद गिट आपकी ऐप निर्देशिका में फाइलों को रीफ्रेश करेगा


नोड के साथ नोड चलाएं- सुपरवाइजर

आपको अपने मशीन पर नोड-सुपरवाइजर को वैश्विक नोड मॉड्यूल के रूप में sudo npm install supervisor -g : sudo npm install supervisor -g

अब बस नोड-पर्यवेक्षक के साथ अपने नोड ऐप को चलाने के लिए और यह आपकी कार्यशील निर्देशिका में फ़ाइलों में परिवर्तनों के लिए देखेंगे:

supervisor /home/path/to/your/www/server.js ( node बजाय नोट supervisor )।

शायद यहां बहुत देर हो चुकी है लेकिन मुझे यह परियोजना गिटौब पर मिली और ऐसा करना लगता है जो आप करना चाहते हैं, लेकिन बहुत साफ तरीके से।

https://github.com/logsol/Github-Auto-Deploy

इसकी जांच – पड़ताल करें। यह जानना भी दिलचस्पी होगी कि टिप्पणी और अपवोट के संदर्भ में अन्य लोग इसके बारे में क्या सोचते हैं।

चीयर्स,
एस

एक परियोजना में मैं वर्तमान में विकसित हो रहा हूं, मैं जेज़ नम्र की शानदार पुस्तक "सतत वितरण" (अच्छी तरह से एक पठन) में शामिल दिशानिर्देशों का पालन करता हूं।

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

यह बहुत जटिल लग रहा है, लेकिन ऐसा नहीं होना चाहिए, और कोड लिखने की पूरी प्रक्रिया कर लेता है और इसे उत्पादन में सुरक्षित बनाने और चिंता मुक्त करने के लिए (कोई डरावना रिलीज़ दिन नहीं!)।

मैं लाइव सिस्टम के लिए पूर्ण तैनाती पाइपलाइन का उपयोग करता हूं, और एनपीएम मॉड्यूल के लिए कटौती संस्करण जिसे मैं लिखता हूं, और दोनों एक ही 1-क्लिक परिनियोजन तकनीक साझा करते हैं I

मैंने आपकी समस्या का नोड आधारित समाधान प्रकाशित किया है: नोड-सीडी

यह आपके वीपीएस पर चलने वाले एक सरल नोड ऐप में शामिल है जो कि Github पोस्ट-प्राप्त हुक्स को प्राप्त करेगा और आपको पसंद की गई स्क्रिप्ट को निष्पादित करेगा (उदाहरण के लिए एक खोल स्क्रिप्ट जो आपके ऐप को मार देगी, git खींचेंगी, और उसे पुनः आरंभ कर देगा)।

यहां एक और सरल नोडजेएस कार्यान्वयन है

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

https://github.com/shyam-habarakada/rscds

मेरे स्टेजिंग सर्वर में पहले से ही नोड स्थापित और चल रहा था, इसलिए यह लिखना शीघ्र और आसान था।

मुझे आसानी से तैनाती के लिए प्रोजेक्ट मिला है git का उपयोग

Git खेलने

मुझे लगता है कि यह आपके लिए उचित तरीका है

इसकी जांच – पड़ताल करें।

आप https://github.com/adnanh/webhook उपयोग कर सकते हैं

हुक बनाने पर विस्तृत विवरण के लिए विकी देखें 🙂

यदि आप एक अजगर / तूफान-आधारित समाधान चाहते हैं, तो मैंने गिटूब के वेबहूक सेवाओं से पोस्ट अनुरोधों को संभालने के लिए एक स्क्रिप्ट लिखी है। आप इसे https://github.com/Akobi/ops/tree/master/autodeploy पर पा सकते हैं

यह मूल रूप से एक जे एसओएन कॉन्फ़िग फ़ाइल का उपयोग करता है, जो आपको अपनी अपेक्षाओं की अपेक्षा की जाती है, जिसे आप परिनियोजित करना चाहते हैं, और आदेशों को किस निर्देशिका में चलाना चाहिए। आपको जो भी करना होगा, उसे विन्यास फ़ाइल को अपनी पसंद और चालान में संशोधित करना होगा लिपी!

इसके अतिरिक्त, मैं एनजीएक्स को इन पदों को मेरी स्क्रिप्ट पर अग्रेषित करने के लिए रिवर्स प्रॉक्सी के रूप में उपयोग करता हूं। आप 'एनजीएनएक्स' फ़ोल्डर के तहत उसी गीथुब रिपो में एनजीएक्स कॉन्फ़िग ढूँढ सकते हैं।

खुश धक्का!

PHP जवाब मेरी राय में पूरी तरह से कानूनी है, लेकिन अगर आप रूबी पसंद करते हैं, तो मैंने एक समाधान ब्लॉग किया था। यह एक अलग भाषा में, PHP उत्तर के समान है। आप एक वेब हुक का उपयोग करते हैं और आपके पास एक सरल स्क्रिप्ट प्रासंगिक HTTP अनुरोधों के लिए सुनते हैं

http://gilesbowkett.blogspot.com/2012/06/heroku-style-deployment-on-ec2.html

मैंने अपना मूल तैनाती उपकरण बना लिया है जो स्वतः रेपो से नए अपडेट निकाल देगा – https://github.com/jesalg/SlimJim – असल में यह गिटब पोस्ट प्राप्त हुक को सुनता है और ट्रिगर करने के लिए एक प्रॉक्सी का उपयोग करता है स्क्रिप्ट को अपडेट करें

मैं https://commando.io के संस्थापक हूं और हाल ही में हमने एक सेवा के जरिये GitHub के साथ एकीकरण की घोषणा की। एकीकरण आपको सर्वर पर फांसी चलाने की अनुमति देता है, जब आप एक गीथहब रेपो में धक्का देते हैं जब आप कोड पुश करते हैं, तो ये स्वचालित रूप से तैनाती स्क्रिप्ट को चलाने का सही मौका है

एक निष्पादन एक स्क्रिप्ट है जो आप कमांडो.आईओ के अंदर लिखते हैं जो कि बैश, पर्ल, पायथन, रब्बी, गो या नोड.जे में लिखा जा सकता है। अधिक पढ़ने के लिए, और चलने वाली git pull की एक उदाहरण निष्पादन स्क्रिप्ट देखें, हमारे ब्लॉग पोस्ट की घोषणा देखें: http://blog.commando.io/run-executions-via-github-push/

Deepl.io इस अंतरिक्ष में नए और होनहार दावेदार हैं।

विशेषताएं (इसकी वेबसाइट से ली गई):

  • GitLab और GitHub से वेबहोच को पकड़ो
  • कई रिपॉजिटरी कॉन्फ़िगर करें
  • कई शाखाएं प्रति रिपॉजिटरी कॉन्फ़िगर करें
  • अपनी खुद की तैनाती लिपियों का प्रयोग करें, या तो PHP, शेल या दोनों
  • पुष्टिकरण ईमेल भेजता है

यह भी ध्यान दें कि वहां खाली / सस्ती सेवाएं उपलब्ध हैं जैसे REPOMAN.IO जो आपके लिए यह सब लगभग स्वचालित करती है