2014-10-17 64 views
2

在持續部署環境中,回滾是一個棘手的話題。使用Hudson和Maven進行連續部署回滾

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

我用哈德森Maven的,我要部署到如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> 

任何想法?

+0

回滾可能很難,對。有一個想法,甚至比你使用的工具和一個插件部分更瞭解你的環境更加困難。 – 2014-10-17 23:28:20

回答

4

它取決於技術和使用的CD工具。

例如,Weblogic可以選擇將替換的包標記爲「retitred」並重新激活它。

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

但是版本(在清單中)必須不同。

一般而言,當您構建應用程序時,您將分配一個版本號,然後您可以恢復存儲版本歷史記錄的最新版本。

你的情況(Hudson-CI與Maven)你可以使用DB(MySQL的MantisBG在我的情況下)來存儲剛發佈的包的版本,那麼你就可以輕鬆地回滾。

可以在這裏找到一點點解釋Maven Build Cuistomization

有時,我們不以 「父母版」 僅部署一個應用程序,但幾個包:

  • MyProject的版本1.0.1
    • MyApp.ear 1.3
    • MyBatch.jar 2.0

,那麼你需要一個更復雜的CD系統;在我的情況下,我使用由我的Bug Tracker(MantisBT)提出的層次結構,但有很多工具更專業也見到Continuous Delivery Scenario - implementing Rollback

+0

有點難以查看未發佈的書。 – 2014-10-27 19:06:34