我在 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/