【问题标题】:Rollback on Continuous Deployment with Hudson and Maven使用 Hudson 和 Maven 回滚持续部署
【发布时间】:2014-10-17 06:48:41
【问题描述】:

在持续部署的世界中,回滚是一个棘手的话题。

我需要回滚到我的最新版本。

我使用 HudsonMaven,我想部署到 JBOSS 等 Java EE 应用服务器。

例如。

<build>
    [...]
    <plugins>
        <plugin>
            <groupId>org.jboss.as.plugins</groupId>
            <artifactId>jboss-as-maven-plugin</artifactId>
            <version>7.6.Final</version>
        </plugin>
    </plugins>
</build>

有什么想法吗?

【问题讨论】:

  • 回滚可能很困难,对。与您使用的工具和单个插件部分相比,在不了解您的环境的情况下产生想法甚至更加困难。

标签: maven hudson continuous-deployment


【解决方案1】:

这取决于技术和使用的 CD 工具。

例如,Weblogic 可以选择将替换的包标记为“retitred”并重新激活它。

mvn  com.oracle.weblogic:weblogic-maven-plugin:redeploy  
    -Dadminurl=t3://myhost:7001 -Duser=weblogic -Dpassword=mypassword 
    -Dtargets=AdminServer -Dname=sample.war

但版本(在清单中)必须不同。

一般来说,当您构建应用程序时,您会分配一个版本号,然后您可以恢复存储版本历史的最新版本。

在您的情况下(使用 Maven 的 Hudson-CI)您可以使用数据库(在我的情况下为 MantisBG 的 MySQL)来存储刚刚发布的软件包的版本,然后您就可以轻松回滚.

可以在这里找到一点解释Maven Build Cuistomization

有时,我们不只部署一个应用程序,而是部署多个具有“父版本”的包:

  • MyProject 发布 1.0.1
    • MyApp.ear 1.3
    • MyBatch.jar 2.0

那么你需要一个更复杂的 CD 系统;在我的例子中,我使用了我的 Bug Tracker (MantisBT) 提出的层次结构,但是还有很多更专业的工具,另见 Continuous Delivery Scenario - implementing Rollback

【讨论】:

  • 一本未出版的书有点难看。
猜你喜欢
  • 2011-02-16
  • 2015-09-01
  • 2014-04-08
  • 2018-07-23
  • 2013-04-20
  • 2012-01-03
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
相关资源
最近更新 更多