java - 从 Git 自动部署 Grails/Java web 应用程序到 Tomcat7

标签 java git grails tomcat7 web-deployment

我在 this 中看到了 heroku 的自动部署关联。它让我能够将 grails web 应用程序直接从 git 存储库部署到 tomcat,这真是太棒了。

现在我想知道如果我使用其他托管服务提供商(或我的个人专用服务器),我是否可以使用类似的东西将我的 grails Web 应用程序直接从我的 VCS(Git) 部署到 tomcat 7。

换句话说,我想为我的 grails web 应用程序设置自动循环。对于使用 spring/strutts 等 web 框架构建的任何其他 java web 应用程序,最好有一种通用的方法。

最佳答案

简短的回答:是的,你可以。但是你需要手动完成。

Heroku 使用接收后 Hook 和构建包的概念,当代码被推送到版本控制的主分支时,它们会自动部署应用程序。例如,对于 GitHub,您可以使用他们的 webhooks 配置接收后 Hook ,这些 Hook 可以自动创建 WAR 文件并自动部署到您的 QA 或生产服务器。

您可以按照 GitHub 的指南设置您的第一个 webhook (https://developer.github.com/webhooks/creating/)。基本上,无论何时将数据推送到 GitHub 存储库,它都会将数据发送到您选择的 URL(也称为 webhook)。您可以在此地址上运行一个监听器,它将处理数据并运行一个自定义脚本,在您的情况下,该脚本将部署您的 Java 应用程序。他们使用的是 Ruby 文件,但您可以使用您喜欢的任何语言,甚至是 bash 脚本。

您还可以查看 GitHub https://gist.github.com/gjtorikian/5171861 发送的示例负载

post-receive hook 是一个非常常见的概念,几乎在每个版本控制系统中都有。对于您自己的专用服务器或您自己的托管版本控制,您需要从头开始实现。

关于java - 从 Git 自动部署 Grails/Java web 应用程序到 Tomcat7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24458633/

相关文章:

git - 我怎么知道我的本地分支是从哪个 git 远程分支 checkout 的?

grails - 如何获取 grails GSP 标记属性中的本地化消息?

java - 如何在 jooq 记录对象中设置当前数据库时间

java - LWJGL 中的立方体贴图

java - Eclipse 中更好的标记显示

testing - 错误页面在哪里?

grails - 具有第三方库的Grails Assets 管道系统

java - 如何为 JLabel 设置文本,以便它从 void 方法打印多个打印语句?

git - 无法 Git 推送从共享 Windows 存储库(本地网络)挂载文件夹

Git:将一个大+杂乱的特性分支分解成更小的分支