项目版本控制-CI/CD-Jenkins-AEM

项目版本控制-CI/CD-Jenkins-AEM,jenkins,aem,Jenkins,Aem,AEM多模块项目在每个模块级别都有pom.xml。我们可以在那个级别更改版本,新的构建将显示具有更新版本的工件 对于版本,将为每个版本创建一个新的AEM包。我们希望在安装新版本之前卸载/删除旧软件包 问题是,我们如何处理CI-CD作业中旧软件包(要安装的新软件包版本不同)的卸载/删除部分?我们可以想出以下解决办法 查询包列表以获取版本并使用该版本卸载 在“使用参数构建”中将版本作为参数传递给Jenkins作业。但代码签入时的自动生成触发器可能有问题 有没有人遇到过类似的情况?请分享AEM CI-

AEM多模块项目在每个模块级别都有
pom.xml
。我们可以在那个级别更改版本,新的构建将显示具有更新版本的工件

对于版本,将为每个版本创建一个新的AEM包。我们希望在安装新版本之前卸载/删除旧软件包

问题是,我们如何处理CI-CD作业中旧软件包(要安装的新软件包版本不同)的卸载/删除部分?我们可以想出以下解决办法

  • 查询包列表以获取版本并使用该版本卸载
  • 在“使用参数构建”中将版本作为参数传递给Jenkins作业。但代码签入时的自动生成触发器可能有问题

  • 有没有人遇到过类似的情况?请分享AEM CI-CD作业处理不同版本的最佳实践。

    我认为查询软件包列表是您的最佳选择。然后,您可以收集任何以前版本的包,无论您上次何时将特定包部署到该服务器

    另一种选择可能是在安装包后立即删除该包,但我担心届时可能会有很多问题等待着您: 某些程序包需要重新启动,您可能无法将程序包删除到早期


    正如我所说,我会选择查询解决方案。

    是的,安装后立即删除包可能不是一个好的选择。由于新版本中包的过滤器可能不同,我们将无法处理取消安装。是否需要取消安装包?如果我们想去掉未安装部分,继续通过覆盖包来安装新包,这样可以吗?在安装新软件包之前,是否有卸载旧软件包的一般最佳做法?AEM软件包管理器,OSGi在安装新版本时处理新版本(新版本显示在软件包管理器和OSGi控制台中),只是/etc/packages将包含所有软件包。这主要取决于您的存储库。如果保留所有旧版本,大型软件包会浪费大量空间。在一些项目中,我们在删除旧包的开发实例上使用每周清理作业。