grails和heroku高级别:战争和git如何结合在一起,如果有的话

Ray*_*Ray 3 grails heroku

Grails有一个war命令来创建一个Web应用程序存档(WAR)文件,该文件可以部署在任何符合Java EE的应用程序服务器上.

Heroku显然使用GIT和一个代码的整个存储库来部署,从我在教程中收集的内容(这里这里)

你能帮我理解这两个方面在高层次上的整合吗?在Heroku上运行就像在没有使用WAR的开发环境中运行一样?

谢谢,雷

小智 5

在Heroku 运行正在容器中运行战争.

不同之处在于Heroku dyno是通过git hooks上演的.这意味着每当您推送到Heroku存储库时它都会构建.插件直接使用代码的原因是,这比将预打包的.war推送到平台要有效得多.

该插件的作用是促进git hook引入的依赖项.

当您推送代码时,git hook会引入Grails和appserver的依赖关系并将它们打包在一起(插件所做的工作就是配置此过程).

最后,应用程序在一个嵌入式容器中运行(或者说,我没有看过插件,而不是SpringOne2GX以来的基本插件),它是在一个特殊的staging dyno上打包和上演,然后部署在你的计算dynos上运行.

从您的应用程序的角度来看,您正在一个容器中运行,您可以像往常一样编写应用程序代码(除非您制作更多的dynos,他们的会话不会被复制,因此您不能以相同的方式依赖会话).

编辑:

应该提到的是,如果你愿意,可以将预打包的战争推送到git仓库,构建系统非常灵活,也不允许你有一个'slug size'(基本上是你的项目占用的空间)它准备好运行)超过100mb.