Hudson部署插件-多个Tomcat服务器



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

我所做的
我创建了一个参数化的hudson作业"projectname-deploy",它要求用户选择部署(开发、分段、实时)war文件的服务器。在Hudson的部署插件字段"Tomcat URL"中,我提供了http://${SERVER}:8080/——SERVER是包含服务器IP的参数字段。但是,${SERVER}没有被用户选择的ip地址所替换。

关于如何得到一个war部署到用户选择的tomcat服务器有什么建议吗?谢谢!

我最终使用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>

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

相关内容

最新更新