每次我通过jenkins生成我的构建时,目标文件夹中的现有jar文件都会被maven覆盖。例如:我在jenkins目标文件夹中已有一个1.0版本,现在,如果我使用1.1版创建一个新版本,则目标文件夹中的先前版本将被覆盖。
我不希望发生这种情况,我想存档所有版本(因为我们可能会向某些客户提供某些旧功能)。我只是想了解是否有办法在詹金斯管道中做到这一点。我不喜欢插件,最好使用jenkins文件以声明方式进行。
答案 0 :(得分:0)
首先,并不是将工件仅存储在目标文件夹中而不复制到其他位置的最佳解决方案。通常,所有需要的构建工件都存储在Nexus或Artifactory存储库中(当然,您也可以将它们复制到某个本地目录中)。您也可以在管道Jenkinsfile中执行此操作,但仍然需要安装所需的插件。例如,要发布工件到Nexus仓库,您可以使用Nexus Platform Plugin,有关详细信息,请参见this答案。
关于覆盖目标文件夹,我不确定Jenkins是否默认清除了它。要清理工作空间,您需要首先在作业配置中指定Discard old builds
选项。
似乎只是执行mvn clean ...
命令,这就是清除目标文件夹的原因,所以我建议先检查一下。