Hudson Deploy插件 - 多个Tomcat服务器

时间:2011-11-13 21:05:33

标签: hudson jenkins

我想做什么
有一个hudson作业要求用户选择tomcat服务器ip来部署war文件。

我做了什么
我创建了一个参数化的hudson作业“projectname-deploy”,要求用户选择要部署(dev,staging,live)war文件的服务器。在Hudson的部署插件字段“Tomcat URL”中,我提供了http:// $ {SERVER}:8080 / - SERVER是包含服务器IP的参数字段。但是,$ {SERVER}不会被用户选择的IP地址替换。

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

2 个答案:

答案 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>

然后,您可以根据需要将该属性部署到您需要的位置。