我想做什么:
有一个hudson作业要求用户选择tomcat服务器ip来部署war文件。
我做了什么:
我创建了一个参数化的hudson作业“projectname-deploy”,要求用户选择要部署(dev,staging,live)war文件的服务器。在Hudson的部署插件字段“Tomcat URL”中,我提供了http:// $ {SERVER}:8080 / - SERVER是包含服务器IP的参数字段。但是,$ {SERVER}不会被用户选择的IP地址替换。
有关如何将战争部署到用户选择的tomcat服务器的任何建议?谢谢!
答案 0 :(得分:1)
我最终使用curl命令来部署war而不是war插件 - 服务器名称是类型选择的构建作业参数,因此用户可以选择部署构建的服务器。
curl --upload-file <path to warfile> "http://<tomcat username>:<tomcat password>@<hostname>:<port>/manager/deploy?path=/<context>&update=true"
我发现这个帖子Tomcat manager remote deploy script很有用
答案 1 :(得分:0)
您可以根据下拉选项为开发,登台和实时使用不同的配置文件并激活配置文件。
让我们说你已经在参数化的工作中创建了一个选项,名为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>
然后,您可以根据需要将该属性部署到您需要的位置。