我想做的是:
有一个hudson作业,要求用户选择tomcat服务器ip来部署war文件。
我所做的
我创建了一个参数化的hudson作业"projectname-deploy",它要求用户选择部署(开发、分段、实时)war文件的服务器。在Hudson的部署插件字段"Tomcat URL"中,我提供了http://${SERVER}:8080/——SERVER是包含服务器IP的参数字段。但是,${SERVER}没有被用户选择的ip地址所替换。
我最终使用curl命令来部署war而不是war插件——服务器名称是构建任务的类型选择参数,因此用户可以选择部署构建的服务器。
curl --upload-file <path to warfile> "http://<tomcat username>:<tomcat password>@<hostname>:<port>/manager/deploy?path=/<context>&update=true"
我发现这个线程Tomcat管理器远程部署脚本很有帮助
您可以使用不同的配置文件用于开发,分期和生活,并根据下拉选择激活配置文件。
假设您在名为ENVIRONMENT的参数化作业中创建了一个选项,其中包含dev、staging等选项。然后您可以在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>
,然后您可以根据需要使用该属性部署到需要的位置。