使用可编写的maven将战争部署到多个tomcat服务器的最简单的例子是什么?
我尝试了以下URL并询问了邮件列表,但没有提出任何简短且可以正常使用的内容。
该示例应该在示例中某处定义了服务器(带有示例用户名/密码)
Markus Lux的想法也可以通过配置文件管理与Maven2解决方案一起应用:
<build> <plugins> <plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> </plugin> </plugins> ... </build> <profiles> <profile> <id>env-foo1</id> <!-- Activated when -Denv=foo1 is given as parameter. --> <activation> <property> <name>env</name> <value>foo1</value> </property> </activation> <properties> <deploy.env>xxx</deploy.env> <tomcat.manager>http://foo1/manager</tomcat.manager> <tomcat.manager.username>foo</tomcat.manager.username> <tomcat.manager.password>bar</tomcat.manager.password> </properties> </profile> <profile> <id>env-foo2</id> <!-- Activated when -Denv=foo2 is given as parameter. --> <activation> <property> <name>env</name> <value>foo2</value> </property> </activation> <properties> <deploy.env>dev</deploy.env> <tomcat.manager>http://foo2/manager</tomcat.manager> <tomcat.manager.username>foo</tomcat.manager.username> <tomcat.manager.password>bar</tomcat.manager.password> </properties> </profile> ... </profiles>
然后,您只需要使用适当的参数( -Denv = foo1 , -Denv = foo2 ,…)运行 mvn 命令X次。
除此之外,您还可以使用Hudson Continuous Integration服务器的Matrix功能来增强此解决方案。
基本上,您只需要在Hudson中定义一个“常规” Maven2作业即可,并且通过Matrix功能,您可以要求Hudson多次运行此作业,每个环境一次。换句话说,您创建了Hudson作业,然后使用 env 参数的所有可能值定义“环境轴” :
然后,Hudson将使用 mvn命令以及参数_-Denv=foo1_来构建应用程序。一旦构建完成,它将构建相同的应用程序,但参数为_-Denv = foo2_ ,依此类推…
这样,Hudson将在各种环境中部署您的应用程序。
希望我的解决方案能帮助您实现目标…