【问题标题】:Hudson Deploy Plugin - Multiple Tomcat ServersHudson 部署插件 - 多个 Tomcat 服务器
【发布时间】:2011-11-13 21:05:32
【问题描述】:

我想做的事:
有一项要求用户选择 tomcat 服务器 ip 来部署 war 文件的 hudson 工作。

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

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

【问题讨论】:

    标签: hudson jenkins


    【解决方案1】:

    我最终使用 curl 命令而不是 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 很有帮助

    【讨论】:

      【解决方案2】:

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

      假设您在名为 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>
      

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

      【讨论】:

      • 我不想通过配置文件来做——主要是因为我不想在 pom 文件中输入服务器主机名详细信息
      猜你喜欢
      • 1970-01-01
      • 2010-10-18
      • 2015-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-14
      • 2012-10-29
      • 2018-07-25
      相关资源
      最近更新 更多