当前位置:  开发笔记 > 编程语言 > 正文

Maven部署到多个Tomcat服务器

如何解决《Maven部署到多个Tomcat服务器》经验,为你挑选了2个好方法。

使用可编写的maven将战争部署到多个tomcat服务器的最小例子是什么?

我已经尝试了以下网址并询问了邮件列表,但没有提出任何简短而简单的工作.

http://www.nabble.com/Deploying-to-Multiple-Servers-at-Once-td21592419.html

该示例应该具有在示例中定义的服务器(带有示例用户名/密码)



1> Romain Linso..:

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将在每个环境中部署您的应用程序......

我希望我的解决方案能帮助您实现目标......


有没有办法做到这一点,而不必调用maven X次?在我看来,再次构建只是为了部署是耗时的,如果在这些构建期间有一个新的更改提交给代码,它可能会导致在集群中进行不一致的部署

2> 小智..:

关于使用多个配置文件,生命周期似乎复制了某些步骤 - 例如,当使用由变量激活的配置文件时,测试的数量增加了一倍.我们发现使用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目录中找到.

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有