如何使用Jenkins取消部署.war?

时间:2017-11-09 10:16:16

标签: maven selenium tomcat jenkins automated-tests

我们正在开发Selenium Grid Setup。 我们这样做了: 我们得到了2x Jenkins Jobs和2x Tomcats。 我们正在使用Maven!

  1. 首先,Jenkins Job在tomcat上部署应用程序(进行测试)。这项工作得到了一个后续行动,其中第二个工作被触发。 (当然忽略测试)
  2. 第二个Jenkins Job测试部署在第一个tomcat上的应用程序,如果成功,它将在第二个和最后一个Tomcat上部署应用程序。
  3. 现在我们需要在第一个Tomcat上取消部署该应用程序,如果它部署在第二个Tomcat上的话。

    有没有选择将其整合到第二个Jenkins工作中?

    如果你能给我一些建议,那就太好了。

    谢谢 -T

1 个答案:

答案 0 :(得分:0)

通常,以自动方式在Tomcat上部署和取消部署的方法是使用Maven Tomcat plugin。忽略它似乎仅适用于Tomcat版本7的事实 - 它将在7 +上工作相同。

在幕后,此插件使用Tomcat manager REST API

您的Jenkins命令可能会像:

    第一台服务器上的
  1. mvn tomcat7:deploy
  2. 如果部署和启动成功,您将获得一个可验证的响应,如下所示:“OK - Deployed application at context path /foo”(可能是相对错误代码)
    • 您还可以编写curl和parse命令 对于http://localhost:8080/manager/text/list处的经理命令 检查应用程序是否部署为完整性检查
  3. 如果部署了
    • 在第二台服务器上执行mvn tomcat7:deploy
    • 执行mvn tomcat7:undeploy 第一台服务器。
  4. 仅针对此处的所有信息,此插件的基本maven配置为:

    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
            <url>http://localhost:8080/manager/text</url>
            <server>TomcatServer</server>
            <path>/myAppContextPath</path>
            <username>admin</username>
            <password>admin</password>
        </configuration>
    </plugin>