How to limit number of deployed snapshots artifact

2019-01-22 07:48发布

问题:

We are using Nexus to deploy our snapshot artifacts. Our build server deploys them during each build using the following command: mvn deploy. As result on each build the newer version of the artifact is deployed. The problem that already about dozens of artifacts are deployed to the repository and of course we need only the last artifact. Is any way to limit number of deployed snapshots artifacts in Nexus? Thanks for your help, Michael

回答1:

Create a scheduled task to purge out old snapshots.

The following links describe the functionality:

  • Nexus scheduled tasks
  • Managing scheduled tasks - Repository Manager 2
  • Configuring and Executing Tasks - Repository Manager 3

You can configure the task to always keep a minimum number of artifacts. It's very flexible.

The only "gotcha" in Version 2 of the Repository Manager, is that you'll need to also run a second task, Empty Trash, in order to claim back the disk space. For Version 3 you will need to run Compact blob store to ensure that the deletion will return the disk space. See docs above.



回答2:

If you have the administrator access in Nexus Then,

  1. Login to Nexus.

  2. Browse to Administration.

  3. Go to scheduled Tasks.

  4. You can add the task : Remove Old Snapshots.

  5. Select task type as Remove Snapshots from repository.

  6. You can define Minimum Snapshot count or Snapshot retention as needed.



回答3:

I suspect not. http://weblogs.java.net/blog/johnsmart/archive/2010/01/03/tale-two-repository-managers-nexus-and-artifactory-compared-and-co

Artifactory [...] also lets you limit the number of snapshots per artifact for each repository.

This is said in contradiction to Nexus.



标签: java maven nexus