在Scala部署中播放框架

时间:2014-11-22 20:50:52

标签: scala deployment playframework web-deployment

我是一名Ruby开发人员,但我也非常喜欢Scala。

对于Rails框架,我们拥有支持Capistrano自动化工具和Puma / Unicorn服务器等部署的强大工具。使用Chef或Ansible的简单烹饪书,我可以轻松设置我的VPS并在那里部署Rails应用程序。

Play框架中的自动部署如何?开发和部署Play应用程序所需的最小堆栈是多少?有自动部署的工具吗?什么是推荐的应用程序服务器?

2 个答案:

答案 0 :(得分:3)

运行Play应用程序所需的只是一个JVM。播放是无容器的。因此,在生产中部署Play应用程序就像运行一个脚本一样简单,该脚本调用带有类路径中所有其他必需jar的胖jar。

$ play dist应该生成一个zip文件,其中包含运行应用程序所需的一切。

您可以使用Ansbile进行自动化。 http://code.hootsuite.com/automating-our-scala-deploys-with-ansible-case-study/ http://www.ansible.com/press-release/ansibleworks-typesafe To deploy Play Framework apps in AWS (Amazon) ec2 using Ansible playbook

和厨师一样。 https://github.com/gildegoma/chef-typesafe-stack

答案 1 :(得分:0)

如果您乐意在AWS上运行,Boxfuse会附带本机Play 2支持。

您现在可以简单地执行boxfuse run my-play-app-1.0.zip -env=prod,这将自动执行:

  • 为您的Play 2应用创建最小的AMI
  • 创建弹性IP
  • 使用正确的权限创建安全组
  • 启动应用实例

所有未来更新均以蓝/绿部署执行,停机时间为零。

这也适用于Elastic Load Balancers和Auto-Scaling Groups,Boxfuse免费套餐适用于AWS免费套餐。

您可以在此处详细了解:https://boxfuse.com/blog/playframework-aws

免责声明:我是Boxfuse的创始人兼首席执行官