我可以避免在存档中使用时间戳的 Maven 部署的战争版本吗?



在项目中,我们使用部署的战争文件/archiva-2.2.0/repositories/internal/com/xyz/1-SNAPSHOT/proj-1-20160204.122021-15.war路径中使用shell脚本复制到jboss。但是,查找最新的内部版本时间戳和内部版本号非常困难。有没有办法避免在将时间戳存储在像proj-1-SNAPSHOT.war这样的存档中时使用时间戳?我已经阅读了 maven 3 不支持<uniqueVersion>false</uniqueVersion>

我正在使用存档-2.2.0,maven-3.3.9。

Maven 存储库不是为分发可部署组件而设计的,您的持续集成环境应该处理这个问题。Jenkins 有例如存档工件(本机)和复制工件插件,您可以使用它们来存储和恢复管道中的二进制文件。

但是,您可以解决此问题,将war的版本更改为稳定版本-删除-SNAPSHOT后缀。这将引导您使用可预测的 URL。

如果我wget http://xx.xx.xx.xx:8083/repository/internal/com/xyz/1-SNAPSHOT/proj-1-SNAPSHOT.war,我正在发布这个,因为它是一个新发现。我在存档存储库中获得了最新部署的项目。因此,archiva 会执行 302 重定向以指向http://xx.xx.xx.xx:8083/repository/internal/com/xyz/1-SNAPSHOT/proj-1-20160204.122021-15.war位置的 url 并下载最新版本。我不确定这是否适用于其他存储库,如 nexus 或工件工厂等。

当然,我将需要一个 cron 作业来定期清除过时的快照工件。

最新更新