【问题标题】:Playframework 2 - Deploying to ec2Playframework 2 - 部署到 ec2
【发布时间】:2012-09-05 15:42:21
【问题描述】:

我知道我可以使用 play dist 命令将其上传到 ec2 实例而不会出现任何问题,但大小为 35mb,我不想为每一个微小的变化等待 60 分钟。 (我有 dsl 1000)

是否可以使用类似 heroku 的东西,您只需通过 git 命令推送更改?

我认为这需要一个自定义 AMI 并安装有效的 play2。

【问题讨论】:

  • 您是否将其上传为 ZIP? (抱歉没有 ec 经验)
  • AWS Beanstalk 让您可以使用 git 来处理部署。
  • @biesior:我还没有尝试过,因为巨大的文件大小让我害怕。 @Lusitianian:但我只能部署 .war 文件对吗?那会破坏 play2 的目的。
  • Beanstalk 只允许战争文件。

标签: java git scala amazon-ec2 playframework-2.0


【解决方案1】:

如果您想使用 git 进行部署,则必须在您的 EC2 实例上安装 git 服务器。

然后,您必须编写一些脚本,大量使用git hooks,尤其是服务器端的post-receive 挂钩。

大致:

  1. 执行clean、compile和stage任务
  2. 如果一切正常,请停止旧播放应用程序,并启动新应用程序(target/start)

【讨论】:

  • 不需要安装git服务器,可以通过ssh推送到裸仓库
  • 感谢您的信息,我不知道 :-)
  • 是的,首先在本地使用Vagrant 来为自己节省一些时间。
【解决方案2】:

假设您的开发环境也在 ec2 上,您最好从您的开发服务器创建一个新的 AMI,以反映更改,然后部署该新 AMI。

【讨论】:

  • 我不能 100% 确定我是否能够理解您在说什么,因为我对服务器的经验很少。但是我不能只获取一个 ec2 实例,安装 play2 以便我可以在命令行中使用它,上传我的 playfolder(或 git),然后像 play start 那样做一些事情吗?
  • @MaikKlein 我认为您担心的是试图将代码更改部署到 EC2。在 ec2 中拥有 dev/qa/stg 环境并希望将其部署到生产环境后,您需要做的就是从 EC2 实例创建一个 AMI,该实例与您想要投入生产的内容相匹配。 AMI 完成后,您只需使用该 AMI 启动新的生产实例。
猜你喜欢
  • 1970-01-01
  • 2018-02-06
  • 1970-01-01
  • 1970-01-01
  • 2017-02-01
  • 1970-01-01
  • 2019-01-30
  • 1970-01-01
相关资源
最近更新 更多