在 Gradle Build 中运行本地 Apache Web Server + Tomcat

Run local Apache Web Server + Tomcat as part of Gradle Build

提问人:75inchpianist 提问时间:1/27/2016 最后编辑:Community75inchpianist 更新时间:2/5/2016 访问量:907

问:

我们当前的环境将 Tomcat 容器放在 Apache Web 服务器后面。基本上,Web 服务器具有 ProxyPass 规则,我们使用这些规则来根据上下文根决定要路由到哪个 Tomcat 实例。

作为我们本地 gradle 构建的一部分,我们正在使用 Cargo 插件来启动一个本地 tomcat 容器,并将我们的战争部署到其中。我还没有找到任何可以让我们启动 Apache Web Server 来测试我们的 apache 配置的东西。

我们的目标是有两个 Tomcat 容器 A 和 B,以及一个 Apache WebServer C,这样 C 将 localhost/appA 路由到 tomcat A,将 localhost/appB 路由到 tomcat B。

这一切都是为了运行自动验收测试,但我还没有找到像 cargo 这样的 gradle 插件来做到这一点。

谢谢!

Apache Tomcat Gradle Web 服务器 httpd.conf

评论

0赞 horatius 1/27/2016
这不是问题的直接解决方案,但它有助于使用 Jenkins CI 服务器等工具通过构建管道概念处理验收测试。在这种情况下,您可以使用各种工具,包括编写 shell 脚本来设置不同的服务器,以及部署到远程服务器安装以运行验收测试。
0赞 75inchpianist 1/27/2016
我目前正在使用 Jenkins,但这不是一个解决方案,因为我也在尝试建立一个本地接受框架。需要驻留在生成的上下文中。
0赞 RaGe 1/27/2016
Maven 有这种东西吗?只是好奇。
0赞 chrki 2/3/2016
我现在没有 Tomcat/Apache/Gradle 环境来测试这一点,但您可以使用 / 使用 Groovy 脚本执行程序,我在这个答案中使用 Inkscape 做到了这一点。也许它对你或试图回答的人有一些用处processexecute()

答:

0赞 fcnorman 2/4/2016 #1

您可以使用 Gradle 部署 Apache http docker 或 haproxy docker http://gitlove.us/p/million12/docker-haproxy,以便对两个 appA 和 appB tomcat 容器进行负载均衡。您还可以将 docker 用于 tomcat 容器。您还可以将 Amazon AWS 用于两个 Amazon Linux tomcat 服务器,以及一个弹性负载均衡器或一个单独的 haproxy 服务器以实现负载均衡。