2012-07-16 80 views
2

我非常喜欢通过推入git来部署heroku应用程序的方式。有没有办法在Java中使用这种部署?heroku以外的Git部署

P.S.我有一个小应用程序部署到tomcat服务器。我不需要分发和其他东西。

+1

我猜如果你控制你部署到的服务器,你可以在接收端(在服务器端)使用post-receive githooks来实现部署功能,然后只需要'git push'到服务器,只需就像在heroku上。 – Frost 2012-07-16 10:17:31

+0

@Frost我想要一个可以使用的解决方案。我只是没有时间自己破解脚本。我敢打赌,有人在我面前解决了这个问题。 – 2012-07-16 10:19:48

+0

@KonstantinSolomatov - 正如其他人所暗示的,后接收钩子可以简单地做到这一点。使用它来调用你的*现有*构建脚本来构建新的代码作为战争(或其他适用的)。 PS:下调其他人,因为你不*喜欢*他们的答案是不好的形式。如果你不喜欢他们,我建议他们不要高估他们。 – elithrar 2012-07-18 03:12:00

回答

1

由于Java是一种编译语言,因此您不像使用ruby和其他语言那样简单地部署代码。

看看AppHarbour,因为他们是这样为C#做的,从那里看看是否有人为Java提供相同的东西。

0

您可以使用像Jenkins有了这个软件,你可以做一个混帐拉然后构建战争文件和它可以扩展系统并执行通过SSH的文件复制到你的服务器的脚本例如,并重新启动你的tomcat。

在詹金斯你有很多的插件。

还有一些其他的部署软件,但他们都花了很多钱。

+0

我明白这是如何做到的。我只想要一个现成的解决方案。我想运行某种守护进程,它将查找git中的更改,并将该项目构建并部署到服务器上的war目录。 – 2012-07-16 10:36:25

+0

这是不可能的。你应该自己做。但是我想你知道你什么时候做出改变并且可以开始詹金斯。其他解决方案是建立一个钩子。但是,你必须编写脚本。 – Stony 2012-07-16 10:47:45

0

您应该看看构建自动化DSL,如Buildr,Gradle。 您可能会在您的环境下自动执行部署过程。

应遵循的首要目标是建立一个构建自动化系统,让您一键部署(或1-命令部署)

接下来的步骤你实现一个Continuous Integration系统。

+0

我有持续集成。我只想用一种类似于heroku的方式来控制部署 – 2012-07-16 11:47:02