use*_*914 12 build snapshot repository maven jenkins
我们有一个Nexus本地存储库管理器,它可以处理我们所有的内部项目(以及镜像外部存储库).对于我们的内部项目,我们只保留最新版本的快照构建.例如,如果我们有ProjectX 1.0,1.1和1.2-SNAPSHOT,一旦1.2发布,我们将删除1.2-SNAPSHOT,然后在我们的Nexus存储库中有1.0,1.1,1.2和1.3-SNAPSHOT.
问题是我们的Jenkins服务器在其本地.m2/repository文件夹中具有所有OLD快照,并继续针对这些旧快照成功构建项目,而实际上它们应该失败(我们的开发人员应该修复他们的POM文件.)
是否可以配置Maven(在settings.xml或pom.xml中)以删除Nexus存储库中不存在的这些不需要的快照?
如果没有,摆脱它们的最佳方法是什么?Jenkins配置,cron作业,其他选择?
谢谢...
在 Linux 上,您可以使用以下命令:
find $HOME/.m2/repository/ \
-name "*-SNAPSHOT" \
-type d \
-mtime +60 \
-print \
-prune \
-exec rm -r "{}" \;
Run Code Online (Sandbox Code Playgroud)
解释:
*-SNAPSHOT文件夹中命名的任何内容$HOME/.m2/repository/-exec将文件夹删除,-prune告诉找到不尝试之后进入该文件夹。-exec会删除该文件夹和文件中。我们在这里使用类似的设置。一旦工件被发布(对于某些存储库),我们会让 Nexus 自动删除快照。然后在我们的连续服务器上,我们只有一个 cron 作业,每天删除一次本地存储库文件夹。这对我们来说效果很好。
| 归档时间: |
|
| 查看次数: |
9638 次 |
| 最近记录: |