2016-04-25 108 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实例删除旧软件包的清理作业。 –