लोचदार बीनस्टॉक रेल गिट स्रोत और तैनाती हुक के साथ आवेदन


3

मैं अपने मौजूदा रेल एप्लिकेशन के लिए इलास्टिक बीनस्टॉक सेटअप करना चाहता हूं।

मैं सैंपल फू ऐप करने में सफल रहा।

ये सवाल मेरे पास हैं

मुझे अपनी गिट रिपॉजिटरी से होने वाली तैनाती की जरूरत है न कि अपने स्थानीय रास्ते से जहां मैं तैनात हूं। मैं सैंपल फू ऐप के लिए कैसे करूं।

Git aws.push कमांड नए ec2 उदाहरण पर तैनात है। हालांकि, इसने मेरे गिट रिपॉजिटरी में बदलावों को आगे नहीं बढ़ाया। मैं एक git aws.push करने से पहले अलग से एक धक्का धक्का करना चाहिए? ध्यान दें कि जब मैं git स्टेटस करता हूं, तो मेरी शाखा 1 प्रतिबद्ध से आगे रहती है। Aws एक अलग git रिपॉजिटरी बनाए रखता है? इसके बदले मैं अपने git रिपॉजिटरी का उपयोग कैसे कर सकता हूं?

[mymac:~/Projects/new/foo(master)]$ git aws.push
Counting objects: 4949, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (1115/1115), done.
Writing objects: 100% (4949/4949), 14.11 MiB | 1.90 MiB/s, done.
Total 4949 (delta 3800), reused 4944 (delta 3798)
remote: 
To https://AKIAJZT3WFY2WLO6CHQQ:20121127T030627Zf56675b2f4c9c731ca6f51b11d36a438e8bcee25c5171061ce5ac681495318c9@git.elasticbeanstalk.ap-southeast-1.amazonaws.com/v1/repos/617069/commitid/39396162666436346439656465313537613561343561626465643931393366623762386265303138/environment/6170692d656e76
 * [new branch]      HEAD -> master


[mymac:~/Projects/new/foo(master)]$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)

नीचे सिर्फ एक गिट पुश का परिणाम है।

[mymac:~/Projects/new/foo(master)]$ git push
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 340 bytes, done.
Total 3 (delta 2), reused 0 (delta 0)
To git@github.com:xxxx/foo.git
   885cc33..99abfd6  master -> master

अलग-अलग, मुझे पहले से ही_सिमलिंक की तैनाती की जरूरत है। मैं यह कैसे कर सकता हूँ ?

जवाबों:


5

यदि आपने पहले ही git aws.pushविकल्प का प्रयास कर लिया है तो यह आपके प्रश्न से स्पष्ट नहीं था । आप AWS इलास्टिक बीनस्टॉक को रैक आधारित अनुप्रयोगों को तैनात करने के लिए AWSBlog पर एक ब्लॉग पोस्ट का उल्लेख कर सकते हैं । उसी को सारांशित करने के लिए, आप इसे निम्नलिखित आसान चरणों में कर सकते हैं:

  1. eb init
  2. eb start
  3. git aws.push

यह, निश्चित रूप से, आपको AWS इलास्टिक बीनस्टॉक कमांड लाइन टूल डाउनलोड करने की आवश्यकता है।

AFAIK, AWS इलास्टिक बीनस्टॉक में अभी तक Git हुक के साथ एकीकरण नहीं है, लेकिन यह बहुत आसान है अगर आप पहले से ही जेन सर्वर जैसे CI सर्वर का उपयोग कर रहे हैं। जीथब सबसे सीआई सर्वर के साथ बहुत अच्छी तरह से एकीकृत कर सकता है। आप अपने शेल सर्वर से कस्टम शेल कमांड के साथ एक नया जेनकींस जॉब जोड़कर एक git pushट्रिगर हासिल कर सकते हैं git aws.push। तुम भी वहाँ से बाहर एक नए निर्माण को आगे बढ़ाने से पहले एक परीक्षण दोहन निष्पादित करना चाहते हो सकता है। जेनकिंस या ट्रैविस सीआई आपके लिए काम करेंगे!

before_symlinkप्रकार के कार्यों के निष्पादन के संबंध में , AWS इलास्टिक बीनस्टॉक के काम करने का तरीका पारंपरिक कैपिस्ट्रानो की तैनाती से अलग है। यह एक निष्पादक संग्रह में आपके सभी कोड को बंडल करता है और बस इसे लोड-संतुलित नोड्स पर कॉपी करता है। before_symlinkकार्यों की तरह निष्पादित करने के लिए , आप कुछ कस्टम विन्यास फाइल लिखना और उन्हें .ebextensionsअपने गिट रिपॉजिटरी के मूल पथ में रख सकते हैं । जिस तरह से मैंने किया वह एक .ebextensions/symlink.configफ़ाइल जोड़कर है । यहाँ database.ymlसर्वर पर आपकी फ़ाइल को सहानुभूति देने के लिए एक नमूना कोड है।

container_commands:
  symlink-db:
    command: ln -sf /var/app/shared/database.yml $EB_CONFIG_APP_ONDECK/config/database.yml

कृपया ध्यान दें कि मैं एक /var/app/shared/निर्देशिका के साथ एक कस्टम एएमआई चला रहा हूं , अन्यथा, जब आप एक वेनिला रूबी कंटेनर लॉन्च करते हैं तो मौजूद नहीं होता है। इसके अलावा, $EB_CONFIG_APP_ONDECKपर्यावरण चर वर्तमान तैनाती निर्देशिका नाम (आमतौर पर /var/app/ondeck) रखता है जो /var/app/currentतैनाती के माध्यम से एक बार तैनाती के लिए ले जाया जाता है और रेल (यात्री) सर्वर को पुनरारंभ करने से पहले, इस प्रकार इसे अनुरोध अनुरोधों के लिए उपलब्ध कराया जाता है। AWS लोचदार बीनस्टॉक कंटेनरों को अनुकूलित करने पर अधिक पढ़ें ।

उम्मीद है की यह मदद करेगा।


नमस्ते, मैंने git aws.push के संबंध में अपना प्रश्न संपादित किया है। क्या आप कृपया उस पर एक नज़र डाल सकते हैं और मुझे बता सकते हैं
दिव्य भारगोव

मुझे यकीन नहीं है कि यह सबसे अच्छा तरीका है, लेकिन मैंने हमेशा एक के git pushबाद एक किया git aws.push। चूँकि मेरा वातावरण जेनकिंस सीआई के साथ स्थापित किया गया था, git pushमेरे विकास मशीन पर git aws.pushहुआ जबकि सीआई सर्वर से हुआ।
रट्टोनिक २

इबेक्स्टेंशन के बारे में .. क्या कोई तरीका है जिससे मैं डिबग कर सकूं कि मेरी कमांड क्यों नहीं चल रही है। मैंने डेटाबेस के लिए प्रतीकात्मक लिंक की कोशिश की। जो आपने दिया है ... किसी कारण से प्रतीकात्मक लिंक नहीं बनाया गया था। कोई भी डिबग दिशानिर्देश उपयोगी होगा। मैंने $ EB_CONFIG_APP_ONDECK को / var / app / current और इस तरह के काम के रूप में कमांड की जगह पर तैनाती के बाद कमांड चलाने की कोशिश की।
दिव्य भारगोव

मैं फिलहाल किसी भी डिबगिंग तकनीक से अवगत नहीं हूं। मैंने भी कुछ तलाशने की कोशिश की, लेकिन ऐसा करने के लिए मानक दिशानिर्देश नहीं मिल सका। प्रतीकात्मक लिंक के बारे में, बस पुष्टि करते हुए, क्या आपके पास /var/app/sharedउदाहरण पर एक निर्देशिका है? मैनुअल सिमलिंग हमेशा काम करेगा। क्या आपने EB_CONFIG_APP_ONDECKपर्यावरण चर के मूल्य की जांच की ? आप के उत्पादन पेस्ट कर सकते हैं echo $EB_CONFIG_APP_ONDECK?
rhetonik

अरे, अब हालात ठीक हैं। मेरा एक और स्पष्टीकरण था। EB_CONFIG_APP_ONDECK फ़ोल्डर को चालू फ़ोल्डर में ले जाने के बाद ही मैं एक प्रक्रिया शुरू करना चाहता हूं। तो, यह मूल रूप से एक तैनाती के बाद की प्रक्रिया है। मुझे यह कैसे करना है ? EB_CONFIG_APP_DECK वर्तमान में स्थानांतरित कर दिया गया है इससे पहले कि सब कुछ होता है
दिव्य Bhargov

0

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

यहाँ मेरे ब्लॉग का लिंक दिया गया है जो इस प्रक्रिया का पूरा विवरण देता है:

http://www.sysadminops.com/amazon-beanstalk-and-travis-ci-integration/


2
सुपरयुसर में आपका स्वागत है। मेरा मानना ​​है कि इस साइट पर अपने ब्लॉग को केवल अपना योगदान न देने दें, हालांकि इसका समाधान मूल्यवान हो सकता है।
Mokubai

1
बस एक सिर, आपका लिंक आपको एक स्पैम साइट पर ले जाता है। किसी को भी, जो इसे क्लिक करने वाला है :)
एंड्रयू के
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.