2013-02-28 7 views
11

पर ड्रॉपविज़ार्ड परिनियोजित करें मैं Google AppEngine पर Dropwizard ऐप को तैनात करने का कोई तरीका ढूंढने का प्रयास कर रहा हूं, लेकिन मुझे अभी तक कुछ भी नहीं मिला है।Google AppEngine

इस question (और answer) द्वारा निर्णय लेना मुझे लगता है कि यह संभव नहीं हो सकता है। मैं इसके बारे में निश्चित होना चाहता हूं, और यदि यह काम करता है, तो मैं सीखना चाहता हूं कि कैसे।

warwizard नामक एक ड्रॉपविज़ार्ड कांटा है जो स्पष्ट रूप से आपको अपने ड्रॉपविज़ार्ड कोड से युद्ध फाइलें बनाने देता है, लेकिन इसे 6 महीने से अधिक समय तक छुआ नहीं गया है, जिससे संभवतः ड्रॉपविज़ार्ड दस्तावेज़ों का उपयोग करने में काम करना मुश्किल हो जाएगा।

+0

मुझे लगता है कि यह संभव है बशर्ते कि केवल उन्हीं gae अनुकूल कक्षाएं शामिल कर रहे हैं: -

> मैं कर रहा है कि एक ब्लॉग पोस्ट यहाँ पर सभी चरणों रख दिया है। – xybrek

+0

मैं अभी भी युद्धविराम बनाने की कोशिश कर रहा हूं, और इसे सत्यापित करने की आवश्यकता है, लेकिन फिर से, मैं कुछ भी नहीं देख रहा हूं जो इसे संभव नहीं बनायेगा, कोड को देखकर अधिकांश परिवर्तन कोर पर 'जेटी' पर होंगे, और डीबी इसे GAE डेटास्टोर – xybrek

उत्तर

11

ड्रॉपवार्ड बस जर्सी + जैक्सन + जेट्टी अच्छी तरह से एक साथ बंडल किया गया है। जेटी और ऐप इंजन के साथ नहीं मिलेगा (यानी, App Engine is already running Jetty, इसलिए यह नहीं चाहता कि एप्लिकेशन अपना स्वयं का प्रदान करे)।

आप शायद Dropwizard उन्हें एक साथ बांधने के बिना जर्सी और जैक्सन का उपयोग कर बंद सबसे अच्छा कर रहे हैं: http://blog.iparissa.com/googles-app-engine-java/google-app-engine-jax-rs-jersey/ & http://www.cowtowncoder.com/blog/archives/2009/11/entry_338.html

7

आप हालांकि, Google गणना इंजन पर Dropwizard चला सकते हैं। जो मूल रूप से केवल Google द्वारा प्रदान किए गए लिनक्स वीएम हैं, यदि आवश्यक हो तो उनके एपीआई तक पहुंच के साथ।

gcutil addfirewall rest --description="http" --allowed="tcp:8080 
gcutil addfirewall admin --description="admin" --allowed="tcp:8081" 

फाइल कॉपी GCE

को :

sudo apt-get install java7-runtime-headless 

ओपन फ़ायरवॉल बंदरगाहों जावा स्थापित करें:

मैं GCE पर निम्न कार्य करके काम कर मेरी Dropwizard उदाहरण पाने के लिए manged

gcutil --project={project-id} push {instance-name} {local-file} {remote-target-path} 

अपने एप्लिकेशन चलाएं

java -jar your-app.jar server your-config.yml 

संपादित करें: वहाँ भी एक और विकल्प है जो DW 0.6.2 केवल समर्थन करता है, https://github.com/twilio/wiztowar wiztowar कहा जाता है।

0

मैं पिछले दो महीनों से इस मुद्दे को हल करने का प्रयास कर रहा हूं। यहां मेरे निष्कर्ष हैं:

1- हां, आप ड्रॉपवार्ड को एक WAR फ़ाइल के रूप में तैनात कर सकते हैं। आप Wizard in a box या WizToWar

2- नहीं जैसे कुछ हैक्स उपयोग करने के लिए की जरूरत है! आप AppEngine मानक वातावरण पर उस WAR फ़ाइल को तैनात नहीं कर सकते हैं।

क्यों? मुख्य मुद्दा यह है कि AppEngine servlet-api v2.5 (जो कि 10 साल से अधिक पुराना है!) का उपयोग कर रहा है और इसमें servlet-api v3 या उच्चतर में अपग्रेड करने की कोई योजना नहीं है। दूसरी ओर ड्रॉपविज़ार्ड को सर्वलेट-एपीआई v3 या उच्चतम की आवश्यकता होती है।

लेकिन प्रतीक्षा करें!एक और विकल्प नहीं है

आप पर App Engine Flexible Environment

App इंजन फ्लेक्स Dropwizard तैनात कर सकते हैं अभी भी बीटा में है, लेकिन मैंने सुना है अब आप इसे उपयोग करना चाहते हैं यह Q1 2017 में सार्वजनिक उपयोग के लिए उपलब्ध हो जाएगा , आपको इसके लिए सक्षम होना चाहिए।

आप ऐप इंजन फ्लेक्स पर कैसे तैनात करते हैं? , Deploying Dropwizard on App Engine Flex

+0

के लिए संशोधित किया जाना चाहिए, आपको आज फ्लेक्स एनवी का उपयोग करने के लिए पूछने की आवश्यकता नहीं है, यह जनता के लिए उपलब्ध है (बीटा संस्करण के रूप में, सत्य)। AFAIK आपको केवल एक फॉर्म भरना होगा यदि आप इसे कस्टम डोमेन (https://cloud.google.com/appengine/docs/flexible/python/upgrading से) –

+0

से उपयोग करना चाहते हैं तो यह बहुत अच्छा है! अद्यतन के लिए धन्यवाद: +1: –