解决方法
如果您只是在没有其他自定义基础架构的情况下部署war文件,那么直接使用EC2就是过度杀伤,而弹性beanstalk将更加轻松地完成您的需求.如果你正在发展更大的东西,并希望一键部署,那么托盘是一个很好的工具.
Pallet有很多东西,它是一个很棒的库,可以编写非常小的程序来完成这类工作(还有更多).花点时间了解“节点”组“融合”等的托盘概念,给自己足够的耐心.一旦你开始使用托盘,感觉就像魔术一样.
开始的地方是托盘入门指南.通过hello world示例,确保您的aws帐户已设置,密钥是他们需要的位置.然后你可以使用一些clojure代码来创建一个带有最新版webapp的实例.
你会需要:
>托盘0.8
>托盘java箱
>一个安装java并将war文件复制过来的组规范.
>托盘lein插件虽然不是必需的但很好
>充分耐心地开始运作.
这个组规范的粗略轮廓看起来有点像
- (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]))
然后,您将调用与Web-group汇合以创建或更新您的服务器.
请跳到freenode上的#pallet,友好的人们(我的自己包括在美国西部的约10:00和~18:00之间)渴望提供帮助.