2016-04-25 102 views
1

AEM多模塊項目在每個模塊級別都有pom.xml。我們可以在該級別更改版本,新版本會顯示更新版本的工件。項目版本控制 - CI/CD - Jenkins - AEM

在版本中,會爲每個版本創建一個新的AEM包。我們希望在安裝新版本之前卸載/刪除舊的軟件包。

問題是,在CI-CD工作中,我們該如何處理舊包(要安裝的新包是不同版本)的卸載/刪除部分?我們可以想到以下解決方案

  1. 查詢軟件包列表以獲取版本並使用它進行卸載。
  2. 將版本作爲參數傳遞給「帶參數的構建」中的Jenkins作業。但是在代碼簽入時自動構建觸發器可能會有問題。

有沒有人遇到類似的情況?如果AEM CI-CD作業有處理不同版本的最佳做法,請分享。

回答

1

查詢軟件包列表是我認爲最好的選擇。無論您上一次將特定軟件包部署到該服務器,您都可以收集任何以前的軟件包版本。

另一種選擇可能是在安裝後立即刪除軟件包,但我擔心可能會有很多問題等待您: 某些軟件包需要重新啓動,您可能無法儘早刪除軟件包..

正如我所說,我會去查詢解決方案。

+0

是的,安裝後立即刪除包可能不是好選擇。由於新版本的軟件包過濾器可能有所不同,我們無法處理卸載。 –

+0

是否需要卸載軟件包?如果我們想要取消卸載部分並通過覆蓋包來繼續安裝新的包,那會好嗎?在安裝新軟件包之前卸載舊軟件包是否有一般的最佳做法? AEM軟件包管理器OSGi處理新版本的安裝(新版本顯示在軟件包管理器和OSGi控制檯中),只是/ etc/packages將包含所有軟件包。 –

+1

這主要取決於您的存儲庫。如果您保留所有舊版本,大包裹會浪費大量空間。在一些項目中,我們每週使用我們的dev實例刪除舊軟件包的清理作業。 –