2013-06-10 23 views
7

,
Benim IDE intellij fikri 12.1.4,
ben ne araç veya eklenti gerekiyor ise Amazon EC2'ye clojure web uygulaması dağıtabiliyor musunuz?(AWS Elastik Beanstalk + Leiningen + Compojure + Yüzük + Tomcat) başlığı OLARAK

Herhangi bir bağlantı veya referans veya adım adım çözüm var mı? Teşekkür ederiz

+2

[** Pallet **] 'a bakabilirsiniz (http://palletops.com/doc/first-steps/), AWS EC2'yi destekler. * "Palet, bulutta, sunucu raflarında veya sanal makinelerde altyapının çevik ve programatik otomasyonu için bir platformdur." * –

+0

Ayrıca, https://github.com/weavejester/lein-beanstalk adresine de bakmak zorundasınız. AWS Elastic Beanstalk kullanıyorsanız, tek tıklatma dağıtım süreci sunan harika bir kütüphanedir. – hsestupin

cevap

13

Eğer başka bir özel altyapıya sahip olmayan bir savaş dosyasını sadece dağıtıyorsanız, EC2'yi doğrudan kullanmanız yeterlidir ve elastik fasülye ihtiyacınız olanı çok daha kolay bir şekilde yapar. Daha büyük bir şey büyüyor ve tek bir tıklama dağıtımı istiyorsanız palet harika bir araçtır.

Pallet için bir çok şey var ve bu tür şeyleri yapmak için inanılmaz derecede küçük programlar yazmak için harika bir kütüphanedir (ve çok daha fazlası). 'Düğüm' 'grubu' 'yakınsama' 'vb. Palet kavramlarını anlamak için biraz zaman ayırın ve kendinize bolca sabır gösterin. Palet ile gittiğinizde sihir gibi geliyor.

Başlama noktası, palet başlangıç ​​kılavuzudur. aws hesabınızın kurulmasını ve anahtarların olması gereken yerlerde olduğundan emin olmak için merhaba dünya örneğinden geçebilirsiniz. Ardından, webapp'ınızın en son sürümüne sahip bir örnek oluşturan biraz clojure kodu yazabilirsiniz.

Malzemeler: Savaş bitti dosyasını java ve kopyalarını yükler

  • palet 0.8+
  • palet java sandık
  • bir grup spec. şeyleri ve çalıştırmak için sabır
  • çok gerekli olmasa da
  • palet Lein eklentisi güzel.

bunun için bir grup spec kaba taslağı daha sonra sunucularınızı oluşturmak veya güncellemek için her iki web grupla converge çağırır

(def java-server 
    (java/server-spec 
    {:vendor :oracle 
    :components #{:jdk} 
    :version [7]})) 

(def webserver 
(node-spec 
    :image {:os-family :ubuntu} 
    :hardware {:min-cores 1 :min-ram (* 2 1024)} 
    :phases {:configure 
      (plan-fn 
       (package-manager :update) 
       (package "tomcat7") 
      (remote-file "/var/lib/tomcat7/webapps/myapp.war" 
       :local-file "target/myApp.war" 
       :owner "tomcat7" 
       :group "tomcat7" 
       :mode 755)) 

(def web-group 
(group-spec 
    "my-websertvers" 
    webserver 
    :extends [java-server])) 

biraz benziyorsun olacaktır.

ve lütfen dostça insanların (~ 10: 00 ve ~ 18: 00 ABD-batı arasında yer alan) kendilerine yardım etmek için istekli oldukları freenode üzerinde #pallet üzerine atlayın.

İlgili konular