使用可编写的maven将战争部署到多个tomcat服务器的最小例子是什么?
我已经尝试了以下网址并询问了邮件列表,但没有提出任何简短而简单的工作.
http://www.nabble.com/Deploying-to-Multiple-Servers-at-Once-td21592419.html
该示例应该具有在示例中定义的服务器(带有示例用户名/密码)
Markus Lux的想法也适用于Maven2解决方案,配置文件管理:
... org.codehaus.cargo cargo-maven2-plugin env-foo1 env foo1 xxx http://foo1/manager foo bar ... env-foo2 env foo2 dev http://foo2/manager foo bar
然后,您只需要使用足够的参数(-Denv = foo1,-Denv = foo2,...)运行X次mvn命令
除此之外,您还可以使用Hudson Continuous Integration服务器的Matrix功能来增强此解决方案.我在这里简要介绍了这个功能.
基本上,您只需在Hudson中定义"普通"Maven2作业,并且使用Matrix功能,您可以要求Hudson多次运行此作业,每个环境一个.换句话说,您创建了Hudson作业,然后使用env参数的所有可能值定义"环境轴" :
foo1
foo2的
foo3
...
然后Hudson将使用mvn命令和参数-Denv = foo1构建应用程序.一旦完成此构建,它将使用参数-Denv = foo2构建相同的应用程序,依此类推......
这样,Hudson将在每个环境中部署您的应用程序......
我希望我的解决方案能帮助您实现目标......
关于使用多个配置文件,生命周期似乎复制了某些步骤 - 例如,当使用由变量激活的配置文件时,测试的数量增加了一倍.我们发现使用catalina-ant库更有效;)它更"有用".使用"executions"元素将"运行"目标附加到生命周期阶段以简化它,或者在包之后运行:mvn package antrun:run
您可以使用ant-contrib库获得更多花哨,并创建一个带有服务器列表的for循环,但这里是2个硬编码服务器URL的静态配置.
org.apache.maven.plugins maven-antrun-plugin 1.6 tomcat catalina-ant 6.0.29
上面使用的catalina-ant的特定版本被手动部署到我们的分布式maven存储库,它可以在tomcat发行版的lib目录中找到.