2011-11-13 41 views
1

我所试图做的
有要求的用户选择Tomcat服务器IP部署WAR文件一个哈德森工作。哈德森部署插件 - 多个Tomcat服务器

我做了什么
我创建了一个参数哈德森工作“项目名称部署”,要求用户选择服务器部署(开发,分期,住)war文件。在哈德森的部署插件字段“Tomcat URL”中,我提供了http:// $ {SERVER}:8080/- SERVER是包含服务器IP的参数字段。但是,$ {SERVER}不会被用户选择的IP地址替换。

关于如何获得部署到用户选择的tomcat服务器的战争的任何建议?谢谢!

回答

0

您可以使用不同的配置文件进行开发,登台和生活,并根据下拉选择激活配置文件。

比方说,你曾在被称为环境的选择开发的参数化工作创造一个选择,分期等,然后你可以有轮廓在这样的POM ...

<profile> 
    <id>dev/id> 
    <activation> 
    <property> 
     <name>env.ENVIRONMENT</name> 
     <value>dev</value> 
    </property> 
    </activation> 
    <properties> 
    <tomcat.url>http://whatever-you-need-here:8080</tomcat.url> 
    </properties> 
</profile> 
<profile> 
    repeat with different activations for staging etc. 
</profile> 

然后你可以使用财产,因为你想部署到你需要的地方。

+0

我不想通过profiles--做到这一点,主要是因为我不想在POM文件中输入服务器的主机名的详细信息 – dsatish

1

我结束了使用curl命令来部署战争而不是战争插件 - 服务器名称是构建作业参数的类型选择,因此用户可以选择要部署构建的服务器。

curl --upload-file <path to warfile> "http://<tomcat username>:<tomcat password>@<hostname>:<port>/manager/deploy?path=/<context>&update=true" 

我发现这个线程Tomcat manager remote deploy script有帮助